else 语句和 while 循环

-5 c# if-statement boolean-expression while-loop conditional-statements

代码跳过错误 if 语句并直接进入 else if

我需要跑几圈,如果少于 2 圈,就会出现错误并再次返回要求输入新值。反之亦然,大于 20。我是一名新程序员,发现 C# Windows 窗体很难理解

        int.TryParse(txtNumberOfLaps.Text, out laps);

while (laps < 2 && laps > 20)
        {
            if (laps < 2)
            {
                MessageBox.Show("Laps can't be less than 2", "Error",
                MessageBoxButtons.OK, MessageBoxIcon.Error);

            }
            else if (laps > 20)
            {
                MessageBox.Show("Laps can't be more than 20", "Error",
                MessageBoxButtons.OK, MessageBoxIcon.Error);

            }
            else if (laps > 2 && laps < 20)
            {
                break;
            }
        }
        
       
        
    
Run Code Online (Sandbox Code Playgroud)

小智 6

据我所见,我认为您的代码没有进入 while 循环。你在问laps < 2 AND laps > 20,而我认为你想要什么laps < 2 OR laps > 20。你的循环没有意义,因为你的数字不能同时大于 20 和小于 2