当我运行它时,没有任何反应。对我来说很奇怪的是系统输出如何询问你想要做什么也不起作用。顺便提一下,扫描仪就是先前调用的。如果我做了一些完全错误的事情,请告诉我:)任何帮助都将是巨大的。
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;
}
答案 0 :(得分:0)
第一次印刷
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;
}