Я работаю над проблемой, описанной ниже, и я использую цикл для ее решения. Я еще не учился на занятиях. Мне нужно перезапустить цикл, если введены неверные данные.Как вернуться в начало цикла for?
В заявлении Если,
if (isInteger == false)
я могу использовать оператор перерыв, чтобы бежать, но остальная часть для цикла будет выполняться, и он будет перезапустить и приращение г = 1. Если тип данных неверно, мне нужно, чтобы он вернулся к началу цикла, где i = 0. Как мне это сделать?
Задача: Напишите программу, которая считывает из 5 целых чисел от пользователя и печатает их сумму. Если введен неверный номер, программа должна попросить пользователя ввести другой номер.
Console.WriteLine("This program accepts 5 integers from the user and returns their sum.\nIf an invalid integer is entered, the program notifies the user and asks for correct input.");
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Please enter Integer {0} now.", (i + 1));
string rawInput = Console.ReadLine();
int integerSum = 0;
int integerInput;
bool isInteger = int.TryParse(rawInput, out integerInput);
if (isInteger == false)
{
Console.WriteLine("This is not a valid integer. Please enter a valid integer now:");
break;
}
else
{
integerSum += integerInput;
}
}
Вы можете прочитать в 'continue'. – Matthew
В дополнение к 'continue', поймите, что вы можете изменить значение' i' _within_ цикла. –
Вы также можете иметь две петли, цикл 'for' для 5 значений и цикл while /' do-while', чтобы гарантировать, что каждое значение является целым числом. – Matthew