【发布时间】:2018-10-16 22:21:50
【问题描述】:
我正在做这个非常简单的测验,我想做的是运行代码并回答问题,并有一个以正确答案结束的无限循环。
这是我最接近完成它的一次,我需要一些帮助。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Media;
using System.Threading.Tasks;
namespace ConsoleApplication11
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("What Countries Capital City is Oslo, Choose From the Following: ");
Thread.Sleep(5000);
Console.WriteLine("1.Norway, 2.Sweden, 3.Germany");
String Answer = Console.ReadLine();
while (Answer != null)
{
if (Answer == "Norway")
{
Console.WriteLine("That is Correct!");
Console.Read();
}
else if (Answer != "Norway")
{
Console.WriteLine("That is Incorrect!");
Console.Read();
}
}
}
}
}
所以我使用了一个while循环,但如果答案为假,while循环不会循环,它只循环一次,但我需要它无限循环,直到答案正确。
【问题讨论】:
-
你有三个问题你应该尝试解决,一个是你的循环的条件,你没有不断从用户那里得到新的答案,你暗示用户输入一个数字而不是国名
-
对于控制台输入循环,我总是建议使用 do...while 循环。它至少会运行一次,但可以强制重复,直到给出正确的答案(或取消输入)。菜单。使用输入有效数字。我所做的所有这些事情都在做......而。
-
另外,我不知道你为什么要睡 5 秒钟,然后再向用户展示他们的选项..
-
您的用户如何知道输入城市名称?您的提示(“1.Norway”)暗示他们应该输入
1<ENTER>,这将不匹配。
标签: c# loops console console-application