public class HomeworkDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = "";
double i = 0;
double j = 0;
double result = 0;
while (scanner.hasNextDouble()) {
i = scanner.nextDouble();
break;
}
while (scanner.hasNextLine()) {
str = scanner.nextLine();
switch (str) {
case "+":
j = scanner.nextDouble();
result = add(i, j);
i = result;
System.out.println(result);
break;
case "-":
j = scanner.nextDouble();
result = minus(i, j);
i = result;
System.out.println(result);
break;
case "*":
j = scanner.nextDouble();
result = multiply(i, j);
i = result;
System.out.println(result);
break;
case "/":
j = scanner.nextDouble();
result = divide(i, j);
i = result;
System.out.println(result);
break;
}if (str.equals("quit")){
System.out.println("退出计算机");
break;
}
scanner.close();
}
}//加
public static double add ( double a , double b){
return a + b;
}//减
public static double minus ( double a , double b){
return a - b;
}//乘
public static double multiply ( double a , double b){
return a * b;
}//除
public static double divide ( double a , double b){
return a / b;
}
}
输出9-1就报错了,求教一下是哪里出了问题?
Exception in thread "main" java.lang.IllegalStateException: Scanner closed
at java.util.Scanner.ensureOpen(Scanner.java:1070)
at java.util.Scanner.findWithinHorizon(Scanner.java:1670)
at java.util.Scanner.hasNextLine(Scanner.java:1500)
at com.sean.base.method.HomeworkDemo.main(HomeworkDemo.java:25)
Process finished with exit code 1