有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我希望我的计算器重新启动,直到我按下“q”字母

我写了一个简单的计算器,我希望计算器重新启动,直到我按下“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”,然后它应该停止


共 (1) 个答案

  1. # 1 楼答案

    这里有一个临时的解决方案。 您可能还想使用try。。。接住解决“输入不匹配异常”。 但这将暂时奏效

        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;
                    }
    
    
    
                }
            }
        }