Ребята, я новичок в этом. Я выполняю задание для моей группы прогов, поэтому, пожалуйста, несите меня.JAVA: если выражение внутри цикла for и выход из цикла for
Так что мне нужно написать код, который может вводить возраст людей, от целых чисел от 1 до 120 включительно. Затем пользователь должен вычислить средний возраст и должен быть рассчитан как действительный номер. Но пользователь должен вводить возрастные значения до тех пор, пока пользователь не войдет в 0, чтобы остановить программу, а затем вывести среднее значение. Если пользователь вводит недопустимый возраст, программа должна продолжать повторно запрашивать пользователя до тех пор, пока не наступит срок действия.
Так что я сделал свою часть. Я создал код, и я придумал это:
public static void main(String[] args)
{
int ageValue = 0;
double getAge;
getAge = inputAge();
System.out.println("Average age is: " + getAge);
}
public static double inputAge()
{
int ageValue = 0;
double avgAge = 0;
Scanner sc = new Scanner(System.in);
for (int i = 1; i <= 120; i++)
{
System.out.println("Enter age");
ageValue += sc.nextInt();
avgAge = ageValue/(double) i;
if (ageValue == 0)
{
System.out.println("Average age is: " + avgAge);
System.exit(0);
}
while (ageValue < 0 || ageValue > 120)
{
System.out.println("Invalid input. Try again!");
ageValue = sc.nextInt();
}
}
return avgAge;
}
Теперь я положил мой код, и я получил мою средняя формулу как-то работает. Теперь проблема в том, что когда я нажимаю 0, она не запрашивает оператор «if». Однако, когда появляется первое приглашение «Введите свой возраст», и я нажал 0, сработало заявление «if». Но для каждой итерации программа не позволит мне выполнить оператор.
С другой стороны, я также пытаюсь выяснить, как выйти из цикла без использования break или System.exit(), потому что это даст мне нулевые отметки. То, что я хотел, - это когда я нажимаю 0, он должен выйти из цикла и вывести среднее значение, как то, что говорится в задаче.
Я не знаю, можете ли вы это сделать. Правильно ли код? Я на правильном пути? Я что-то упускаю???
Приветствия
, а также исправление различных ошибок, это также делает разделение только один раз. следует отметить, что это вызовет исключение, если пользователь введет что-то, что nextInt не может решить. – Rodney
О, действительно, не было известно о цикле do while. Спасибо, что решил мою проблему – Seth