#java #while-loop #equals #control-structure
#java #while-цикл #равно #структура управления
Вопрос:
Я новичок в Java, поэтому у меня возник вопрос по этому поводу Я пытаюсь создать простой код, в котором я с этим покончил, просто я хотел знать, как вы настраиваете бесконечно задаваемый вопрос, который пользователь может ввести? Тот, который у меня есть сейчас, выполняет бесконечный цикл, что бесполезно…
import java.util.Scanner;
public class Logical_Operators {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
//this is a conditional scenario, where only boys above the age of 18 can enter
//and only girls equal to or over the age of 20
String gender, boy, girl, response;
int age;
System.out.println("Welcome to the party! Would you like to enter?");
response = input.nextLine();
while(!response.equals("yes") amp;amp; !response.equals("no")) {
System.out.println("Please say Yes or No");
}
{
if(response.equals("yes")) {
System.out.println("What gender are you? Type boy or girl.");
gender = input.nextLine();
System.out.println("What about your age?");
age = input.nextInt();
if(gender.equals("boy") amp;amp; age >= 18) {
System.out.println("You can enter, Welcome!");
}
else if(gender.equals("girl") amp;amp; age >= 20) {
System.out.println("You can enter, Welcome!"); }
else { System.out.println("Sorry, you may not enter because you don't meet the age requirements"); }
}
else if(!(response.equals("yes")||response.equals("no"))) {
System.out.println("Please say Yes or No");
}
else {
System.out.println("Bye, hope to see you again!");
}
System.exit(1);
}
}
}
Комментарии:
1. Пожалуйста, исправьте отступы в вашем исходном коде, это облегчает чтение (специально для вас).
Ответ №1:
Чтобы выйти из цикла, вам нужно получить новое значение для тестирования
response = input.nextLine();
while(!response.equals("yes") amp;amp; !response.equals("no")) {
System.out.println("Please say Yes or No");
response = input.nextLine();
}
Комментарии:
1. Привет, спасибо за ответ, это сработало. Но есть ли способ, которым я могу сделать то же самое для пола и то же самое для возраста? Например, бесконечный цикл. Я пытался использовать тот же метод, но он просто продолжает задавать вопрос, даже если я ввожу boy или girl.
2. Вы должны иметь возможность использовать точно такую же логику. Не забудьте заменить «да» и «нет» новыми условиями, которые вы запрашиваете