试图弄清楚如何 System.exit 与角色
Trying to figure out how to System.exit with a character
我是 Java 和编码的新手,我正在尝试做一个计算器,您可以在其中输入所需的运算,然后输入两个数字。
计算是在名为 "mth" 的开关内完成的,但我不知道如何使用字符退出我的程序。
如你所见,我已经尝试使用,
if(op.equals("x")) System.exit(0);
但是程序好像根本没有注册。
我已经尝试了很多东西,比如使用布尔值并尝试了一下,但我无法克服这个问题。
public static void main(String[] args) throws IOException {
Locale.setDefault(new Locale("sv","SE"));
Scanner op = new Scanner(System.in);
System.out.println("Operation och två heltal (x för att avsluta)");
while(op.hasNext()){
if (op.equals("x")) {
System.exit(0);
}
else{
mth(op.next(), op.nextInt(), op.nextInt());
}
}
}
应该是
if (op.next().equals("x")) {
而不是
if (op.equals("x")) {
op
是完整的Scanner object
,所以需要用op.next()
从op
对象中取出值再比较。
那是因为您将 Scanner 与 "x" 而不是输入的符号进行比较。您可以使用 String input = op.next()
然后 if (input.equals("x")) System exit(0);
编辑:我认为最好使用一个额外的变量来进行比较,因为使用 op.next()
两次可能会导致不需要的结果。通过使用额外的变量,您可以在之后使用 mth(input, ...)
。
op.equals("x") 替换为 op.next().equals("x") 或更好的 "x".equals(op.next ())
我是 Java 和编码的新手,我正在尝试做一个计算器,您可以在其中输入所需的运算,然后输入两个数字。 计算是在名为 "mth" 的开关内完成的,但我不知道如何使用字符退出我的程序。
如你所见,我已经尝试使用,
if(op.equals("x")) System.exit(0);
但是程序好像根本没有注册。
我已经尝试了很多东西,比如使用布尔值并尝试了一下,但我无法克服这个问题。
public static void main(String[] args) throws IOException {
Locale.setDefault(new Locale("sv","SE"));
Scanner op = new Scanner(System.in);
System.out.println("Operation och två heltal (x för att avsluta)");
while(op.hasNext()){
if (op.equals("x")) {
System.exit(0);
}
else{
mth(op.next(), op.nextInt(), op.nextInt());
}
}
}
应该是
if (op.next().equals("x")) {
而不是
if (op.equals("x")) {
op
是完整的Scanner object
,所以需要用op.next()
从op
对象中取出值再比较。
那是因为您将 Scanner 与 "x" 而不是输入的符号进行比较。您可以使用 String input = op.next()
然后 if (input.equals("x")) System exit(0);
编辑:我认为最好使用一个额外的变量来进行比较,因为使用 op.next()
两次可能会导致不需要的结果。通过使用额外的变量,您可以在之后使用 mth(input, ...)
。
op.equals("x") 替换为 op.next().equals("x") 或更好的 "x".equals(op.next ())