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

如何编写判断数值处于两个值之间的if语句?

问题解答

一、区间判断的正确写法

要判断rating处于2到5之间(即大于2且小于5),不能用if(rating < 5 > 2)这种错误写法,C#中需要用逻辑与运算符&&连接两个独立条件,正确代码如下:

if (rating > 2 && rating < 5)
{
    // 此处编写满足条件时要执行的代码
}

二、你代码中的其他问题及修正

1. 输入读取的错误

Console.Read()只会读取输入字符的ASCII值,比如输入3会返回51(字符'3'的ASCII码),完全不符合整数评分的需求。应该用int.TryParse()来安全读取并转换输入:

Console.WriteLine("你给星际争霸打几分(0-10)?");
int rating;
// 循环直到输入有效的0-10之间的整数
while (!int.TryParse(Console.ReadLine(), out rating) || rating < 0 || rating > 10)
{
    Console.WriteLine("请输入0到10之间的有效数字!");
}

2. if语句后的多余分号

你的每个if后面都加了分号;,这会直接终止if的逻辑判断,导致后面的代码块无条件执行,不管条件是否满足。必须删除这些分号:
错误示例:

if (rating < 5) ; // 分号导致逻辑断裂,后续代码块必执行
{
    Console.WriteLine("Not good enough!");
}

正确示例:

if (rating < 5)
{
    Console.WriteLine("还不够好!");
    Console.ReadLine();
}

3. 逻辑覆盖不完整

原代码中rating=5时没有对应输出,且rating>8的判断顺序错误(会被rating>5先触发)。建议用else if优化逻辑,避免重复判断和遗漏场景:

if (rating < 5)
{
    Console.WriteLine("还不够好!");
    Console.ReadLine();
}
else if (rating > 8)
{
    Console.WriteLine("我们现在是最好的朋友了 ;)");
    Console.ReadLine();
}
else if (rating > 5)
{
    Console.WriteLine("哦哦哦哦哦哦耶!");
    Console.ReadLine();
}
else // 处理rating等于5的情况
{
    Console.WriteLine("刚好及格!");
    Console.ReadLine();
}

三、完整修正后的代码

public static void Main(string[] args)
{
    Console.WriteLine("你给星际争霸打几分(0-10)?");
    int rating;
    while (!int.TryParse(Console.ReadLine(), out rating) || rating < 0 || rating > 10)
    {
        Console.WriteLine("请输入0到10之间的有效数字!");
    }

    if (rating < 5)
    {
        Console.WriteLine("还不够好!");
        Console.ReadLine();
    }
    else if (rating > 8)
    {
        Console.WriteLine("我们现在是最好的朋友了 ;)");
        Console.ReadLine();
    }
    else if (rating > 5)
    {
        Console.WriteLine("哦哦哦哦哦哦耶!");
        Console.ReadLine();
    }
    else
    {
        Console.WriteLine("刚好及格!");
        Console.ReadLine();
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 02:01:12