我是一名工程师^_^我正试图制作一个计算器作为我的第一个java程序。。这个计算器在整个过程中循环,直到你选择退出,我的问题是,即使我选择退出,它仍然要求num1和num2,我希望它立即退出。
import java.io.Console;
public class Calc {
public static void main (String[] args) {
Console console = System.console();
loop: while(true) {
String operator = console.readLine("Enter Operation or Quit: ");
String num1 = console.readLine("Enter num1: ");
String num2 = console.readLine("Enter num2: ");
int x = Integer.parseInt(num1);
int y = Integer.parseInt(num2);
int sum = add(x,y);
int sub = minus(x,y);
int mul = product(x,y);
int div = divide(x,y);
switch(operator) {
case "addition":
System.out.println(sum);
break;
case "subtraction":
System.out.println(sub);
break;
case "multiplication":
System.out.println(mul);
break;
case "division":
System.out.println(div);
break;
case "quit":
System.exit(0);
break loop;
default:
System.out.println("Out of topic");
}
}
}
public static int add(int x, int y) {
return x+y;
}
public static int minus(int x, int y) {
return x-y;
}
public static int product(int x, int y) {
return x*y;
}
public static int divide (int x, int y) {
return x/y;
}
}
即使我选择退出,它仍然要求num1和num2,我希望它立即退出
在这种情况下,在询问接下来的两个值之前,请检查该选项是否为退出。
String operator = console.readLine("Enter Operation or Quit: ");
if ("quit".equals(operator))
return;
String num1 = console.readLine("Enter num1: ");
顺便说一句,拥有一个比它所包装的表达式更长、更复杂的方法没有多大意义,除非表达式是模糊的。你可以假设+
的含义并不含糊。