В настоящее время я делаю некоторые экскременты java в uni и ive, которые застряли на этом около 5 часов! Я тренируюсь для циклов и задаю цикл 5 раз для числа от 1 до 3. При тестировании, если я введу неверный выбор, он включает и включает недопустимый выбор в качестве нуля, у меня есть сообщение об ошибке, работающее, когда введен неверный ввод, но он все еще продолжается до тех пор, пока цикл не завершится, я знаю, что есть способ вернуться к началу выбора, но я не могу это понять. Я искал везде решение, но не могу его найти! Я знаю, что это не может быть много, и я не вернусь в uni в течение нескольких дней, поэтому я не могу спросить лектора, и я действительно хотел бы перейти к следующей главе.Java For Loop data validation
Вот мой код (я знаю его, вероятно, немного лоскутной !!), спасибо, Роб
import java.util.Scanner;
/* this is s a survey of how 5 people sweeten thier coffee */
class coffee
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int person, preference, nothing, sugar, sweetner;
String pluralone = "People dont";
String pluraltwo = "People use";
String pluralthree = "People use";
person = 0;
preference = 0;
nothing = 0;
sugar = 0;
sweetner = 0;
for (person = 1; person <= 5; person++)
{
System.out.println("How do you sweeten your coffee");
System.out.println("1. I Don't");
System.out.println("2. With Sweetner");
System.out.println("3. With Sugar");
preference = input.nextInt();
if (preference != 1 && preference != 2 && preference != 3)
System.out.println("Sorry that is not a valid option");
else if (preference == 1)
nothing++;
else if (preference == 1)
sweetner++;
else
sugar++;
}
System.out.println("Survey Report");
System.out.println("#############");
if (nothing < 2)
{
pluralone = "person doesnt";
}
System.out.println(nothing + " " + " " + pluralone + " sweeten thier coffee");
if (sweetner < 2)
{
pluraltwo = "person uses";
}
System.out.println(sweetner + " " + pluraltwo + " " + "sweetner to sweeten thier coffee");
if (sugar < 2)
{
pluralthree = "person uses";
}
System.out.println(sugar + " " + pluralthree + " " + "sugar to sweeten thier coffee ");
}
}
Пожалуйста, не публикуйте текст на снимках экрана. Текст в виде текста. – khelwood
Вы могли бы включить образец ввода для своей проблемы, фактический вывод и ожидаемый результат? – SomeJavaGuy
Вопрос заключается в том, чтобы «ловить за пределы значений диапазона и убедиться, что ваша программа все еще обрабатывает 5 действительных выборов, THX для помощи – robbiedarza