我是Java的新手(刚刚今天下午开始),我一直在尝试使用switch语句构建一个简单的条件计算器。
我试图制作的代码非常简单。首先,询问用户的输入(声明),然后是第一个数字和第二个数字。
将根据输入的值进行正确的计算(如果它' Sum'那么它将是第一个数字+第二个数字。& #39; Sub'然后是第一个数字 - 第二个数字,......)。
import java.util.Scanner;
class Scalc{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//Variables//
double fnum, snum, anum; //(First Number, Second Number, Answer Number)//
String statement;
//Input//
System.out.println("Enter Statement: ");
statement = input.nextLine();
System.out.println("Enter First Number: ");
fnum = input.nextDouble();
System.out.println("Enter Second Number: ");
snum = input.nextDouble();
//Decision//
switch (statement){
case "Sum":
anum = fnum + snum;
System.out.println(anum);
break;
case "Sub":
anum = fnum - snum;
System.out.println(anum);
break;
case "Mul":
anum = fnum * snum;
System.out.println(anum);
case "Div":
anum = fnum / snum;
System.out.println(anum);
break;
default:
System.out.println("STATEMENT UNDEFINED");
break;
}
}
}
现在,它已停留在⊂' ,用于减法。
程序正常运行,但是当我输入' Mul' 时,它不是乘以数字而是减去它。 ' Div' 也是如此。 从技术上讲,代码似乎停留在减法处,并且无法进行任何进一步的处理。
我仍然是一个菜鸟,所以......
任何?
答案 0 :(得分:4)
您需要在break
情况下添加Mul
,否则您的下一个case
语句会一直执行,直到switch
或break
case "Mul":
anum = fnum * snum;
System.out.println(anum);
break;