C#奇偶判断程序问题:如何用TryParse处理非整数输入?
问题原因
你代码里的int Num = Convert.ToInt32(input);这行是报错根源——当用户输入非整数内容时,Convert.ToInt32会直接抛出格式错误异常,根本轮不到后面的int.TryParse执行判断逻辑,这就是你看到报错的原因。
修正后的代码
Console.WriteLine("请输入一个数字"); string input = Console.ReadLine(); int num; if (!int.TryParse(input, out num)) { Console.Write("这根本不是数字啊..."); } else { Console.WriteLine("这个数字是奇数吗?"); int remainder = num % 2; Console.WriteLine(remainder != 0); Console.WriteLine("\r\n"); Console.WriteLine("这个数字是偶数吗?"); Console.WriteLine(remainder == 0); Console.Read(); }
核心修正点
- 删掉了引发异常的
Convert.ToInt32(input),改用int.TryParse做安全转换:它会尝试将输入字符串转为整数,成功则把结果存入out num,失败返回false,全程不会抛出异常。 - 变量名改成小驼峰
num(符合C#局部变量命名规范,你要是习惯大写也可以改回Num)。
内容的提问来源于stack exchange,提问作者Superrr S.
相关产品推荐
相关产品推荐

