Я пытаюсь напечатать оператор if, но только если значения верны и соответствуют требованиям. Тем не менее, оператор if находится внутри цикла while, и хотя он просит пользователя повторить попытку, если значение в операторе if неверно, он все равно печатает числа, которые пользователь ввел в первый раз в WriteLine, вне if заявление (где написано МОДЕЛИРОВАНИЕ). Я хочу попросить пользователя повторить попытку, пока значения не будут соответствовать требуемому стандарту оператора if.
namespace Woodchuck
{
class Program
{
static void Main(string[] args)
{
string restart = "Y";
while (restart == "Y")
{
int totalWoodChucks = 0;
int days = 0;
const int MAXDAYS = 10;
const int MINDAYS = 1;
const int MAXWOOD = 100;
const int MINWOOD = 1;
Write("Enter number of woodchucks for this simulation (1-100): ");
int.TryParse(ReadLine(), out totalWoodChucks);
if (totalWoodChucks > MAXWOOD || totalWoodChucks < MINWOOD)
{
WriteLine("Please try again");
}
Write("Enter number of days for this simulation (1-10): ");
int.TryParse(ReadLine(), out days);
if (days > MAXDAYS || days < MINDAYS)
{
WriteLine("Please try again");
}
WriteLine($"SIMULATION 1: {totalWoodChucks} woodchucks over {days} days");
Write("\nTo run another simulation, enter 'Y':");
restart = ReadLine().ToUpper();
}
//Debug pause
WriteLine("Press any key to wrap it up...");
}
}
}