0

我正在尝试在 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
4

3 回答 3

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();
于 2013-11-01T18:30:57.913 回答
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();
}
于 2013-11-01T18:33:12.863 回答
0

您没有提示用户进行下一次输入。在您的 while 循环中添加以下语句

sName = Console.ReadLine();
于 2013-11-01T18:36:49.407 回答