编辑:对于那些谁已经回答了,我道歉,我本来应该更清晰,分配需要根据我的教授循环使用的。在无效用户输入突围的for循环
我做了一类小任务时遇到了问题爆发的一个for循环,并提示用户输入有效的值。我的代码设置为:
const int MINRANGE = 1;
const int MAXRANGE = 20;
int input = 0;
Console.Write("Enter the desired maximum: ");
string strInput = Console.ReadLine();
Console.WriteLine("\n\n\n");
for (int.TryParse(strInput, out input); input >= MINRANGE && input <= MAXRANGE; input--)
{
Console.WriteLine("{0,2} {1,5}", input, Math.Pow(input, 3));
}
该程序显示了我需要的所有内容。当用户输入一个超出我指定范围的值时,我需要给他们一个短消息,然后跳出循环并返回到开始提示。我想我需要使用类似下面的语句:
if (input >= MAXRANGE || input <= MINRANGE)
{
Console.WriteLine("That is not a valid value, please try again.");
}
也许休息一下;跟着它?但我不确定如何在for循环中使用它。我试过把它放在外面,但是这并没有让我回到用户提示符,但也没有把它放在循环内,所以我显然做错了。
虽然在哪里?有关系吗?我把它放在最后,它给了我适当的信息“这不是一个有效的......”,但它并没有让我回到提示。我尝试添加休息;最后,同样的问题。 – bnr32jason 2015-02-23 08:15:25
如果您要求用户重新输入值,并且想要将它们发送回过程的开始,那么可以在问题上使用一个while循环,直到它们写入,然后移至下一部分。 – 2015-02-23 08:17:05
您可能希望将整个块放在while循环中,这样,当您跳出内部循环时,您将重新启动整个块。 – Jite 2015-02-23 08:17:40