当我运行它时,什么也没有发生。对我来说奇怪的是,系统输出询问你想做什么也不起作用。顺便说一句,扫描仪是在前面调用的。如果我做的事情完全错误,请告诉我:)任何帮助将是巨大的。
Scanner scanner3 = new Scanner(System.in);
String operator = scanner3.nextLine();
System.out.println("What do you want to do? (add, subtract, multiply, or divide?)");
switch (operator){
case "add": System.out.println("Enter number one ");
Scanner scanner4 = new Scanner(System.in);
double addnum1 = scanner4.nextDouble();
System.out.println("Enter number two ");
Scanner scanner5 = new Scanner(System.in);
double addnum2 = scanner5.nextDouble();
System.out.print("the answer is: ");
System.out.println( addnum1 + addnum2);
break;
case "subtract": System.out.println("Enter number one");
Scanner scanner7 = new Scanner(System.in);
double subnum1 = scanner7.nextDouble();
System.out.println("Enter number two ");
Scanner scanner8 = new Scanner(System.in);
double subnum2 = scanner8.nextDouble();
System.out.print("the answer is: ");
System.out.println( subnum1 - subnum2 );
break;
case "multiply": System.out.println("Enter number one");
Scanner scanner9 = new Scanner(System.in);
double mulnum1 = scanner9.nextDouble();
System.out.println("Enter number two ");
Scanner scanner10 = new Scanner(System.in);
double mulnum2 = scanner10.nextDouble();
System.out.print("the answer is: ");
System.out.println( mulnum1 * mulnum2 );
break;
case "divide": System.out.println("Enter number one");
Scanner scanner11 = new Scanner(System.in);
double divnum1 = scanner11.nextDouble();
System.out.println("Enter number two ");
Scanner scanner12 = new Scanner(System.in);
double divnum2 = scanner12.nextDouble();
System.out.print("the answer is: ");
System.out.println( divnum1 / divnum2 );
break;
}
最佳答案
第一次打印
System.out.println("What do you want to do? (add, subtract, multiply or divide?)");
在
之后.nextLine()
因此您的程序在打印第一条消息之前需要输入。
您可以对所有情况使用相同的扫描仪,从而获得更好、更清晰的代码。
Scanner scanner_all = new Scanner(System.in);
System.out.println("What do you want to do? (add, subtract, multiply or divide?)");
String operator = scanner_all.nextLine();
switch (operator){
case "add":
System.out.println("Enter number one ");
double addnum1 = scanner_all.nextDouble();
System.out.println("Enter number two ");
double addnum2 = scanner_all.nextDouble();
System.out.print("the answer is: ");
System.out.println( addnum1 + addnum2);
break;
case "subtract":
System.out.println("Enter number one");
double subnum1 = scanner_all.nextDouble();
System.out.println("Enter number two ");
double subnum2 = scanner_all.nextDouble();
System.out.print("the answer is: ");
System.out.println( subnum1 - subnum2 );
break;
case "multiply":
System.out.println("Enter number one");
double mulnum1 = scanner_all.nextDouble();
System.out.println("Enter number two ");
double mulnum2 = scanner_all.nextDouble();
System.out.print("the answer is: ");
System.out.println( mulnum1 * mulnum2 );
break;
case "divide":
System.out.println("Enter number one");
double divnum1 = scanner_all.nextDouble();
System.out.println("Enter number two ");
double divnum2 = scanner_all.nextDouble();
System.out.print("the answer is: ");
System.out.println( divnum1 / divnum2 );
break;
}
关于使用开关的 Java 4 运算符计算器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33324400/