Java难题stage projects

项目说明 任务要求 教学目标 覆盖知识点 StageProject..
1、在当前类StageProject中,编写一个计算器方法calculator(int a,int num1,int num2)(该方法无返回值), 
2、当a为1时求num1和num2的和,当a为2时求num1和num2的差,当a为3时求num1和num2的乘积 ,当a为4时求num 1和num2的条 ,当 a为5时求 num1 和 num2的 余数 ,当 a为0时3、在main方法中初始化a为5,num1为2,num2为3,使用for循环并循环5次(a每次减1),输出结果。

这道题我认为初衷应该是在考察switch-case语句。因为涉及的条件情况比较多,如果罗列if-else会略显繁琐,而switch-case则处理起来比较方便。另外为了便于调用自定义的calculator(int a,int num1,int num2)方法,建议将此方法使用static修饰,这样在main方法中无需先new一个类对象出来,就可以直接调用。PS:题目表述不太清楚,“当a为4时求num 1和num2的条” ,应该是“商”吧?我提供的代码是按照商来做的;另外,当 a为0时也没有交待进行何种操作,我按照不做任何操作处理的。代码如下:

public class StageProject {
    public static void calculator(int a,int num1,int num2){
        switch(a){
        case 1:
            System.out.println(num1+num2);
            break;
        case 2:
            System.out.println(num1-num2);
            break;
        case 3:
            System.out.println(num1*num2);
            break;
        case 4:
            System.out.println(num1/num2);
            break;
        case 5:
            System.out.println(num1%num2);
            break;
        default:   //包含了a=0的情况
            break;
        }
    }
    public static void main(String[] args) {
        int a=5;
        int num1=2;
        int num2=3;
        for(int i=0;i<5;i++){
            calculator(a,num1,num2);
            a--;
        }
    }
}

void calculator(int a,int num1,int num2)
{
int r = 0;
if (a == 1) r = num1+num2;
if (a == 2) r = num1-num2;
if (a == 3) r = num1*num2;
if (a == 4) r = num1/num2;
if (a == 5) r = num1%num2;

}