Цикл for и операторы if, else if
public class LoopBreaker {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String answer;
int loopSetup = 3;
for(int i = 1;i < loopSetup; i++) {
System.out.println("I`m LoopBreaker!");
System.out.println("Can I help you?");
answer = scan.nextLine();
if(answer == "yes") {
loopSetup+=3;
} else if(answer == "no") {
i+=5;
} else if (answer != "yes" || answer != "no") {
System.out.println("Can I help you?");
answer = scan.nextLine();
}
}
}
}
Дан код. В нём пользователь должен ввести "yes" или "no", иначе программа должна вывести вопрос и должна ожидать корректный ответ. Однако в коде есть ошибка, из-за которой после ответа "yes" или "no" программа задаёт вопрос снова(так быть не должно).Но при вводе чего-либо, что не совпадает с "yes" и "no", то программа работает нормально.
Ответы (1 шт):
Автор решения: Алексей г
→ Ссылка
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String answer;
System.out.println("I`m LoopBreaker!");
System.out.println("Can I help you?");
while (true) {
answer = scan.nextLine();
if (answer.equals("yes")) {
break;
} else if (answer.equals("no")) {
break;
}
System.out.println("Can I help you?");
}
}
Как то так, если я правильно понял задание. Ну и согласно тому что делает сейчас этот код.