【发布时间】:2014-08-11 17:22:02
【问题描述】:
我正在尝试通过输入一个介于 10-50 之间的整数来让我的程序工作,如果他们没有在可接受的范围内输入,那么循环将通过让他们再次输入来返回。但我似乎无法理解为什么我的程序不起作用。我知道背后的逻辑,但我认为代码是问题所在。这是我的代码
Console.WriteLine("Enter a digit between 10 and 50 ");
xx = Console.ReadLine();
x = int.Parse(xx);
do
{
if (x > 10 && x < 50)
Console.WriteLine("Pleae input again: ");
}
while (x <= 10 && x >= 50);
Console.WriteLine("The number is in between!");
Console.Read();
【问题讨论】:
-
将
(x <= 10 && x >= 50)更改为(x <= 10 || x >= 50) -
问题是你没有在循环内抓取输入。一旦进入循环,变量 x 就永远不会改变。 (除了三叶草说的)
-
但我猜 && 不会有所作为,因为它将数字限制在 10 到 50 之间。
-
@user3806140:是的,它会的。
x不能小于 10 且大于 50 ;)
标签: c# loops if-statement do-while