我正试图在2周时间内完成C#的练习,为我的时间限制测试做准备,并且一直在尝试完成我在书籍中发现的练习。在互联网上。
练习要求使用while循环来询问用户输入他们的名字,如果不是“XXX”,那么它可以继续循环。但我得到的问题是,在编写循环之后,它只是继续,用户无法输入“XXX”来停止程序,所以我想知道是否有人知道解决方案吗?
这是我到目前为止写的代码..
String sName;
//Declaring the variable
Console.Write("Enter a name (or XXX to end): ");
sName = Console.ReadLine();
//Prompting user to enter the name or to end the program by telling them to type XXX
while (sName != "XXX")
{
Console.Write("The Name is: " + sName);
Console.WriteLine();
}
//Start loop
Console.WriteLine("You are now past the while loop");
//If XXX is typed, message is displayed
Console.WriteLine("Press any key to close");
Console.ReadKey();
//Prevent program from closing
答案 0 :(得分:7)
您的输入语句应该在循环中,否则如果第一个输入不等于XXX
String sName="";
while (sName != "XXX")
{
Console.Write("Enter a name (or XXX to end): ");
sName = Console.ReadLine();
Console.Write("The Name is: " + sName);
Console.WriteLine();
}
Console.WriteLine("You are now past the while loop");
Console.WriteLine("Press any key to close");
Console.ReadKey();
答案 1 :(得分:0)
您需要提示用户在循环中重新输入名称:
String sName;
Console.Write("Enter a name (or XXX to end): ");
sName = Console.ReadLine();
while (sName != "XXX")
{
Console.Write("The Name is: " + sName);
Console.WriteLine();
Console.Write("Enter a name (or XXX to end): ");
sName = Console.ReadLine();
}
答案 2 :(得分:0)
您没有提示用户进行下一次输入。 在while循环中添加以下语句
sName = Console.ReadLine();