我如何 return 到这个 while 循环中的输入?
How would I return to the input in this while loop?
如果输入无效,我试图让它循环回输入。
if(userSelection == 'G') {
String genderPrompt = "Please enter animal's gender\n" + "Male\n" + "Female";
System.out.println(genderPrompt);
String animalGender = readInput.nextLine().toLowerCase();
System.out.println(animalGender);
while(!animalGender.equals("male") && !animalGender.equals("female")) {
System.out.println("Invalid Selection.");
System.out.println(genderPrompt);
}
animal.setGender(animalGender);
System.out.println("Animal Gender has been set to " + animal.getGender());
试试这个。
if (userSelection.equals("G")) {
String animalGender;
do {
String genderPrompt = "Please enter animal's gender \nMale \nFemale";
System.out.println(genderPrompt);
animalGender = sc.next().toLowerCase();
} while (!animalGender.equals("male") && !animalGender.equals("female"));
animal.setGender(animalGender);
System.out.println("Animal Gender has been set to " + animal.getGender());
}
请记住,当您创建一个 while 循环时,您需要编辑或更新变量,以便条件最终变为假,否则循环将无限继续。
由于您的 while 循环根据 animalGender
的值运行,因此通过在 while 循环内接收用户输入来更新 animalGender
是有意义的。通过这样做,如果用户的 animalGender
无效,我们输出错误并要求他们输入另一个:
while (!animalGender.equals("male") && !animalGender.equals("female")) {
System.out.println("Invalid Selection.");
System.out.println(genderPrompt);
animalGender = readInput.nextLine().toLowerCase();
}
如果输入无效,我试图让它循环回输入。
if(userSelection == 'G') {
String genderPrompt = "Please enter animal's gender\n" + "Male\n" + "Female";
System.out.println(genderPrompt);
String animalGender = readInput.nextLine().toLowerCase();
System.out.println(animalGender);
while(!animalGender.equals("male") && !animalGender.equals("female")) {
System.out.println("Invalid Selection.");
System.out.println(genderPrompt);
}
animal.setGender(animalGender);
System.out.println("Animal Gender has been set to " + animal.getGender());
试试这个。
if (userSelection.equals("G")) {
String animalGender;
do {
String genderPrompt = "Please enter animal's gender \nMale \nFemale";
System.out.println(genderPrompt);
animalGender = sc.next().toLowerCase();
} while (!animalGender.equals("male") && !animalGender.equals("female"));
animal.setGender(animalGender);
System.out.println("Animal Gender has been set to " + animal.getGender());
}
请记住,当您创建一个 while 循环时,您需要编辑或更新变量,以便条件最终变为假,否则循环将无限继续。
由于您的 while 循环根据 animalGender
的值运行,因此通过在 while 循环内接收用户输入来更新 animalGender
是有意义的。通过这样做,如果用户的 animalGender
无效,我们输出错误并要求他们输入另一个:
while (!animalGender.equals("male") && !animalGender.equals("female")) {
System.out.println("Invalid Selection.");
System.out.println(genderPrompt);
animalGender = readInput.nextLine().toLowerCase();
}