如何让我编写的C#计算器程序每次运行结束后自动从头重新启动
解决方案
你可以通过while(true)无限循环包裹计算器核心业务逻辑实现每次运行后自动重启,下面是可直接运行的修改后代码:
using System; namespace ConsoleApp { class Program { static void Main(string[] args) { // 无限循环包裹核心逻辑,实现每次运算后自动重启 while (true) { Console.Write("请输入第一个数字:"); double num1 = Convert.ToDouble(Console.ReadLine()); Console.Write("请输入运算符(+、-、*、/):"); string op = Console.ReadLine(); Console.Write("请输入第二个数字:"); double num2 = Convert.ToDouble(Console.ReadLine()); if (op == "+") { Console.WriteLine($"运算结果:{num1 + num2}"); } else if (op == "-") { Console.WriteLine($"运算结果:{num1 - num2}"); } else if (op == "/") { Console.WriteLine($"运算结果:{num1 / num2}"); } else if (op == "*") { Console.WriteLine($"运算结果:{num1 * num2}"); } else { Console.WriteLine("无效运算符"); } // 可选退出逻辑,不需要可直接删除 Console.WriteLine("按Q键退出程序,按其他键开始下一次计算"); ConsoleKey inputKey = Console.ReadKey(true).Key; if (inputKey == ConsoleKey.Q) { break; } // 可选清空控制台,保持界面整洁 Console.Clear(); } } } }
修改说明
- 核心逻辑用
while (true)无限循环包裹,即可实现每次运算结束后自动回到初始输入步骤,满足自动重启需求 - 新增的退出逻辑属于可选功能,如果你不需要主动退出入口,直接删除对应代码即可,程序会一直循环运行
- 若要避免用户输入非数字内容导致程序崩溃,可以将
Convert.ToDouble替换为double.TryParse做输入合法性校验
内容的提问来源于stack exchange,提问作者Jamin Govender
相关产品推荐
相关产品推荐

