如何实现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,也可以通过控制循环条件实现:
这种方式下,用户输入非1的值时循环自动结束,程序自然退出,无需调用int command = 1; do { // 核心计算逻辑... System.out.println("0-exit, 1-continue"); command = scanner.nextInt(); } while (command == 1);System.exit
内容的提问来源于stack exchange,提问作者Unknown
相关产品推荐
相关产品推荐

