C#代码if语句触发CS0019错误,如何修复使其正常执行?
修复C#代码中的if语句错误
问题分析
你要实现的是检查所有输入值是否在0-100范围内,但原代码的元组比较写法不符合C#语法,同时逻辑运算符使用错误——&&会要求所有值同时小于0且大于100,这是不可能成立的,应该用||来判断任意一个值超出范围。
修复后的代码
using System; public class HelloWorld { public static void Main(string[] args) { Console.WriteLine("please enter xhundred :"); double xhundred = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("please enter xT :"); double xT = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("please enter xzero :"); double xzero = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("please enter t :"); double T = Convert.ToDouble(Console.ReadLine()); // 检查所有输入是否在0到100之间,任意一个超出就提示 if (xhundred < 0 || xhundred > 100 || xT < 0 || xT > 100 || xzero < 0 || xzero > 100 || T < 0 || T > 100) { Console.WriteLine("please enter a number from 0 to 100"); } else { Console.WriteLine("l"); double t = ((xhundred - xT) / (xhundred - xzero)) * 100; Console.WriteLine(t); } } }
关键修复点
- 移除错误的元组比较写法,改为对每个变量单独做范围判断,符合C#语法规范。
- 将逻辑运算符
&&改为||,正确实现"任意一个值超出0-100范围就提示"的需求。 - 把计算
t的代码移到else块中,避免输入不合法时执行无效计算(比如出现除数为0的情况)。
内容的提问来源于stack exchange,提问作者eissa 34
相关产品推荐
相关产品推荐

