C# 如何确保仅在while循环中满足if语句时才打印某一行
我试图打印一条if语句,但前提是值正确且符合要求。但是,if语句位于while循环内,即使它要求用户在if语句中的值不正确时重试,它仍然会打印出用户在if语句外的WriteLine中第一次输入的数字(其中表示模拟)。我希望它要求用户重试,直到值满足if语句的要求标准 土拨鼠 { 班级计划 { 静态void Main(字符串[]参数) { 字符串restart=“Y”; 而(重新启动=“Y”) { int totalWoodChucks=0; 整数天=0; const int MAXDAYS=10; const int MINDAYS=1; 常数int MAXWOOD=100; const int MINWOOD=1; 写入(“输入此模拟的土拨鼠数量(1-100):”; int.TryParse(ReadLine(),out totalWoodChucks); if(totalWoodChucks>MAXWOOD | | totalWoodChucksC# 如何确保仅在while循环中满足if语句时才打印某一行,c#,if-statement,while-loop,C#,If Statement,While Loop,我试图打印一条if语句,但前提是值正确且符合要求。但是,if语句位于while循环内,即使它要求用户在if语句中的值不正确时重试,它仍然会打印出用户在if语句外的WriteLine中第一次输入的数字(其中表示模拟)。我希望它要求用户重试,直到值满足if语句的要求标准 土拨鼠 { 班级计划 { 静态void Main(字符串[]参数) { 字符串restart=“Y”; 而(重新启动=“Y”) { int totalWoodChucks=0; 整数天=0; const int MAXDAYS=10
while(重启==“Y”)
{
int totalWoodChucks=0;
整数天=0;
const int MAXDAYS=10;
const int MINDAYS=1;
常数int MAXWOOD=100;
const int MINWOOD=1;
写入(“输入此模拟的土拨鼠数量(1-100):”;
int.TryParse(ReadLine(),out totalWoodChucks);
写入(“输入此模拟的天数(1-10):”;
int.TryParse(ReadLine(),out天);
如果((全土拨鼠>MAXWOOD |全土拨鼠MAXDAYS |天
我所做的是在收集了所有数据之后进行检查。然后,如果数据不符合要求,它将再次要求再次尝试,直到数据得到满足 您可以通过使用while循环来完成此操作,直到满足所需的条件 下面是一个简单的示例,说明如何做到这一点:
int totalWoodChucks = 0;
int days = 0;
const int MAXDAYS = 10;
const int MINDAYS = 1;
const int MAXWOOD = 100;
const int MINWOOD = 1;
bool validWoodChucks = false;
while(!validWoodChucks)
{
Console.Write("Enter number of woodchucks for this simulation (1-100): ");
int.TryParse(Console.ReadLine(), out totalWoodChucks);
if(totalWoodChucks > MAXWOOD || totalWoodChucks < MINWOOD)
{
Console.WriteLine("Invalid woodchucks. Please try again.");
}
else
{
validWoodChucks = true;
}
}
bool validDays = false;
while(!validDays)
{
Console.Write("Enter number of days for this simulation (1-10): ");
int.TryParse(Console.ReadLine(), out days);
if (days > MAXDAYS || days < MINDAYS)
{
Console.WriteLine("Invalid days. Please try again.");
}
else
{
validDays = true;
}
}
Console.WriteLine("Wood chucks: " + totalWoodChucks);
Console.WriteLine("Days: " + days);
Console.ReadLine();
int totalWoodChucks = 0;
int days = 0;
const int MAXDAYS = 10;
const int MINDAYS = 1;
const int MAXWOOD = 100;
const int MINWOOD = 1;
bool validWoodChucks = false;
while(!validWoodChucks)
{
Console.Write("Enter number of woodchucks for this simulation (1-100): ");
int.TryParse(Console.ReadLine(), out totalWoodChucks);
if(totalWoodChucks > MAXWOOD || totalWoodChucks < MINWOOD)
{
Console.WriteLine("Invalid woodchucks. Please try again.");
}
else
{
validWoodChucks = true;
}
}
bool validDays = false;
while(!validDays)
{
Console.Write("Enter number of days for this simulation (1-10): ");
int.TryParse(Console.ReadLine(), out days);
if (days > MAXDAYS || days < MINDAYS)
{
Console.WriteLine("Invalid days. Please try again.");
}
else
{
validDays = true;
}
}
Console.WriteLine("Wood chucks: " + totalWoodChucks);
Console.WriteLine("Days: " + days);
Console.ReadLine();
Enter number of woodchucks for this simulation (1-100): -10
Invalid woodchucks. Please try again.
Enter number of woodchucks for this simulation (1-100): 50
Enter number of days for this simulation (1-10): 20
Invalid days. Please try again.
Enter number of days for this simulation (1-10): 10
Wood chucks: 50
Days: 10