使用系统; 命名空间项目 { 班级计划 { 静态无效主(字符串[]参数) { Console.Write("请输入姓名"); 字符串名称 = Console.ReadLine();
while (true)
{
if (name.Length <= 4)
{
//it gets stuck when I try a shorter name
Console.WriteLine("enter a longer name");
Console.ReadLine();
}
else if (name.Length >= 20)
{
//it gets stuck when I try a shorter name
Console.WriteLine("enter a shorter name");
Console.ReadLine();
}
else
{
Console.WriteLine("welcome " + name);
}
}
}
}
}
我的程序中遇到这个问题,它无法停止重复 Console.WriteLine("请输入更长的名称");当我尝试测试 Console.WriteLine(“请输入更短的名称”);终端仍然重复“请输入更长的名称”
while 循环之前
name
的值是多少?如果少于 4 个字符,程序将进入 while 循环,并使用该值 name
并不断重复“输入更长的名称”。考虑在 while 循环外部定义 name
,然后在循环内部使用 name = Console.ReadLine()
设置其值。
您需要将新的用户输入设置为
name
变量。像这样:
if (name.Length <= 4)
{
//it gets stuck when I try a shorter name
Console.WriteLine("enter a longer name");
name = Console.ReadLine();
}