有没有一种简单的方法可以在循环中退出Java而无需重写大部分代码?

1 java calculator while-loop

我是Java和编程的新手.我遇到的不是一个问题,而是更像是我无知的墙.在我的QA自动化课程中,我被要求用Java编写一个简单的计算器程序,我保持它非常基础 - 每次执行计算时都需要重新启动程序.我了解了while循环,看起来while循环是保持程序运行的好方法.但现在我处于另一个极端 - 循环是无限的.我的问题是:有没有简单的方法退出程序而无需重新编写代码和我构建计算器的方式?我不知道怎么做但是如果程序在用户按[Esc]或打印"退出"时结束会很好.我(初学者)会理解并实施一种简单的方法吗?

import java.io.IOException;
import java.util.Scanner;

public class Calculator {
    public static void main(String[] args) {
        int first, second, answer;
        String operator;

        Scanner s = new Scanner(System.in);

        try {
            while (true) {
                log("Please enter a math equation using +, -, * or /");
                first = s.nextInt(); //User enters first number
                operator = s.next(); //User enters operator
                second = s.nextInt(); //User enters second number

                if (operator.contains("+")) {
                    answer = first + second;
                    log("" + answer);
                }

                if (operator.contains("-")) {
                    answer = first - second;
                    log("" + answer);
                }

                if (operator.contains("*")) {
                    answer = first * second;
                    log("" + answer);
                }

                if (operator.contains("/")) {
                    if (second == 0) {
                        log("You can't divide by 0");
                    } else {
                        answer = first / second;
                        log("" + answer);
                    }
                }
            }
        } catch (java.util.InputMismatchException error) {
            log("Incorrect input");
        }
    }

    public static void log(String s) {
        System.out.println(s);
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢,如果你能帮助我的话!PS我不知道它是否是处理异常或非常丑陋的正确方法.如果你能对此发表评论,我将不胜感激.

Mar*_*arv 8

是的,使用break:

if(endingCondition)
    break;
Run Code Online (Sandbox Code Playgroud)

这将打破最内层的循环.