试图找出如何使用字符System.exit

时间:2015-12-07 10:17:49

标签: java switch-statement calculator system.exit

我是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());
        }

    }


}

3 个答案:

答案 0 :(得分:1)

应该是

try:
    num = int(input().strip())
except ValueError:
    print("Enter a number only")

而不是

if (op.next().equals("x")) {

if (op.equals("x")) { 是完整的op,因此需要使用Scanner object对象中的op.next()取出值,然后进行比较。

答案 1 :(得分:0)

这是因为您将扫描仪与" x"进行比较。而不是输入的标志。您可以使用String input = op.next(),然后使用if (input.equals("x")) System exit(0);

编辑:我认为最好为此比较使用其他变量,因为两次使用op.next()可能会导致不需要的结果。通过使用额外的变量,您可以在之后使用mth(input, ...)

答案 2 :(得分:0)

op.equals(“x”)替换为op.next()。equals(“x”)或更好的“x”.equals(op.next())