Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何确保仅在while循环中满足if语句时才打印某一行_C#_If Statement_While Loop - Fatal编程技术网

C# 如何确保仅在while循环中满足if语句时才打印某一行

C# 如何确保仅在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

我试图打印一条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 | | totalWoodChucks最大天| |天<分钟) { WriteLine(“请再试一次”); } WriteLine($“模拟1:{totalWoodChucks}土拨鼠超过{days}天”); 写入(“\n若要运行另一个模拟,请输入“Y”:”); restart=ReadLine().ToUpper(); } //调试暂停 WriteLine(“按任意键将其打包…”); } } } string restart=“Y”

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