java - 我希望计算器重新启动,直到我按下 'q' 字母

标签 java

我写了一个简单的计算器,我希望计算器重新启动,直到我按下“q”按钮。问题是我无法让它做到这一点。

我尝试了一些 do/while 循环,但我不断收到错误。

import java.util.Scanner;

public class Assignment2_3 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while(true) {
            System.out.println("Welcome to my mini calculator program!");
            System.out.println("Please enter the numbers along operation (press q to exit):");
            int number1 = in.nextInt();
            char typeoftheoperation = in.next().charAt(0);
            int number2 = in.nextInt();
            String terminate = "";
            double result;
            switch (typeoftheoperation) {
                case ('+'):
                    result = number1 + number2;
                    System.out.println("The result is :" + result);
                    break;

                case '-':
                    result = number1 - number2;
                    System.out.println("The result is :" + result);
                    break;

                case '*':
                    result = number1 * number2;
                    System.out.println("The result is :" + result);
                    break;

                case '/':
                    result = number1 / number2;
                    System.out.println("The result is :" + result);
                    break;
                terminate = in.next();
            if (terminate.equals("q"))
                in.close();
            }



        }
    }
}

我希望计算器继续运行,直到我决定输入“q”,然后它应该停止。

最佳答案

这是针对您所问问题的临时解决方案。 您可能还想使用 try...catch... 来解决“inputmismatchException”。 但这暂时有效。

    import java.util.Scanner;

    public class Assignment2_3 {
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            while(true) {
                System.out.println("Welcome to my mini calculator program!");
                System.out.println("Please enter the numbers along operation (press q to exit):");
                int number1 = in.nextInt();
                char typeoftheoperation = in.next().charAt(0);
                int number2 = in.nextInt();
                String terminate = "";
                double result;
                switch (typeoftheoperation) {
                    case ('+'):
                        result = number1 + number2;
                        System.out.println("The result is :" + result);
                        break;

                    case '-':
                        result = number1 - number2;
                        System.out.println("The result is :" + result);
                        break;

                    case '*':
                        result = number1 * number2;
                        System.out.println("The result is :" + result);
                        break;

                    case '/':
                        result = number1 / number2;
                        System.out.println("The result is :" + result);
                        break;
                }
                terminate = in.next();
                if (terminate.equals("q")) {
                    in.close();
                    System.out.println("You turned off the calculator! See you again");
                    break;
                }



            }
        }
    }

关于java - 我希望计算器重新启动,直到我按下 'q' 字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58289127/

相关文章:

Java流: iterate two collections,链接响应

java - 泛美卫生组织客户限制?

java - 在 Android 中访问 Gmail 电子邮件

java - 通过Intellij IDEA运行web应用程序时,编译好的webapp在哪里?

java - Tomcat 6 上的共享服务?

java - 在 recyclerview 的第一项上添加行分隔符

java - [Java]Android Videoview 只能处理本地文件

java - 合并txt文件中的字符串

java - 将多个 java arraylist 合并到一个 json 对象中

java - 完美的 url 正则表达式