我可以在switch case语句中使用用户输入语句吗?

时间:2016-12-25 16:42:10

标签: java

我可以在switch case语句中使用用户输入语句吗?

这是我的代码。

switch(choice) {
    System.out.println("Enter First Number");
    num1=input.nextInt();
    System.out.println("Enter Second Number");
    num2=input.nextInt();
    case 1:
        total=num1+num2;
        System.out.println("Addition of "+num1+" and "+num2+" are "+total);
        break;
    case 2:
        total=num1-num2;
        System.out.println("Substraction of "+num1+" and "+num2+" are "+total);
        break;
    case 3:
        total=num1*num2;
        System.out.println("Multiplication of "+num1+" and "+num2+" are "+total);
        break;
    case 4:
        total=num1/num2;
        System.out.println("Divistion of "+num1+" and "+num2+" are "+total);
        break;
    default:
        System.out.println("Please Choose right option...Try again");
        break;

}

这在Java中是否可行?

1 个答案:

答案 0 :(得分:0)

代码无法正常工作,因为没有案例分配给用户输入语句...
这个东西可以通过oracle给出的定义来理解 switch语句的主体称为switch块。 switch块中的语句可以用一个或多个case或default标签标记。 switch语句计算其表达式,然后执行匹配案例标签后面的所有陈述。
在你的情况下"用户输入语句"未分配给任何情况因此编译器将抛出错误
但是如果你把用户输入语句放在开关组内的任何一种情况下你都可以接受用户输入 例如:

case 1:
System.out.println("Enter First Number");
    num1=input.nextInt();
    System.out.println("Enter Second Number");
    num2=input.nextInt();
 total=num1+num2;
        System.out.println("Addition of "+num1+" and "+num2+" are "+total);
        break;


这将起作用,因为现在用户输入语句被分配给"案例1"在开关块中...

希望描述能帮助你...