Вы можете попытаться использовать функцию int.TryParse
, чтобы проверить, введен ли пользователь или нет, число, которое вернет значение bool
true
пользовательский ввод - это число. false
пользовательский ввод не является числом.
Я бы использовал do ... while
вместо while
, потому что это может сделать ваш код более понятным.
int age;
do {
Console.Write("Please enter the persons age: ");
if (!int.TryParse(Console.ReadLine(), out age)){
Console.WriteLine("Please enter a valid entry");
}
else if (age == 17)
{
Console.WriteLine("That's to bad! You will have to wait until next year!");
}
else if (age < 18)
{
Console.WriteLine("That's to bad! You will have to wait a couple years until you can come in!");
}
}
while (true);