java - 有没有一种简单的方法可以在不重写大部分代码的情况下退出 Java while 循环?

标签 java while-loop calculator

<分区>

我是 Java 和一般编程的新手。我遇到的不完全是一个问题,而更像是我无知的一堵墙。在我的 QA Automation 类(class)中,我被要求用 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);
    }
}

谢谢,如果你能帮助我! 附言我不知道这是处理异常的正确方法还是非常丑陋的方法。如果您也能对此发表评论,我将不胜感激。

最佳答案

是的,使用break:

if(endingCondition)
    break;

这将跳出最内层的循环。

关于java - 有没有一种简单的方法可以在不重写大部分代码的情况下退出 Java while 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27511116/

相关文章:

Java将字符串字节转换为可读字符串

java - 如何使用java 8流查找字符串中的第一个重复字符而无需中间终端操作

c - while 循环中的 OR 运算符不退出

python循环异常

java - 将数据转换为声音并返回

java - 编写一个简单的邮件客户端和服务器,使用签名进行用户认证,验证签名,用户登录失败

javascript - while 循环在 JavaScript 中在新行上打印元音和其他元素

c++ - 用非常大的数字进行计算

java - 如何使Java中的字符串计算器能够处理负数?

java - 如何在java swing计算器中获得百分比结果