You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Java计算器程序的继续/退出功能(1继续0退出)

实现计算器的继续/退出功能

你可以通过循环结构来实现这个功能,把核心计算逻辑放到循环里,每次计算完成后根据用户输入的指令决定是继续循环还是终止程序。下面是修改后的完整代码:

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 用do-while循环保证至少执行一次计算
        do {
            System.out.println("first number: ");
            int num1 = scanner.nextInt();

            System.out.println("second number: ");
            int num2 = scanner.nextInt();

            System.out.println("Operation?: ");
            String operation = scanner.next();

            if (operation.equals("+")) {
                System.out.print("Answer: ");
                System.out.println(num1 + num2);

            } else if (operation.equals("-")) {
                System.out.print("Answer: ");
                System.out.println(num1 - num2);

            } else if (operation.equals("*")) {
                System.out.print("Answer: ");
                System.out.println(num1 * num2);

            } else if (operation.equals("/")) {
                // 新增除数不为0的判断,避免程序崩溃
                if (num2 == 0) {
                    System.out.println("Error: 除数不能为0");
                } else {
                    System.out.print("Answer: ");
                    System.out.println(num1 / num2);
                }

            } else {
                System.out.println("Error! 不支持的运算");
            }

            // 询问用户操作指令
            System.out.println("0-exit, 1-continue");
            int command = scanner.nextInt();
            // 输入0则正常终止程序
            if (command == 0) {
                scanner.close();
                System.exit(0); // 参数0表示程序正常退出,1一般用于异常终止
            }
            // 输入1则循环继续,输入其他值也会继续,可自行添加错误提示逻辑
        } while (true);
    }
}

关键说明:

  • 采用do-while(true)创建无限循环,确保计算器至少运行一次
  • 若不想用System.exit,也可以通过控制循环条件实现:
    int command = 1;
    do {
        // 核心计算逻辑...
        System.out.println("0-exit, 1-continue");
        command = scanner.nextInt();
    } while (command == 1);
    
    这种方式下,用户输入非1的值时循环自动结束,程序自然退出,无需调用System.exit

内容的提问来源于stack exchange,提问作者Unknown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 20:20:29