我正在尝试编写一个程序,询问用户是否怀孕.我遇到的问题是,如果该人输入“也许”或“是”或“否”以外的任何其他答案,我希望程序说“这是一个是或否的问题”,然后提示用户再次回答该问题.而是打印“这是一个是或否的问题”和“您怀孕了吗?”,但它不能接受其他答复.这是我要尝试的正确格式吗?换句话说,我希望程序继续询问用户是否怀孕,直到我得到是或否的答案.
import acm.program.*;
public class AskProgram extends ConsoleProgram{
public void run(){
String answer = readLine(" are you pregnant? ");
if (answer.equals("yes")) {
println("Great! Congratulations ");
} else if (answer.equals("no")) {
println("keep trying it will happen.");
} else {
println("Its a yes or no question");
readline("are you pregnant? ");
}
}
}
解决方法:
这将重复执行该块,直到用户输入“是”或“否”为止:
String answer = "";
while (!answer.equalsIgnoreCase("yes") && !answer.equalsIgnoreCase("no")) {
answer = readLine("Are you pregnant?");
if (answer.equalsIgnoreCase("yes")) {
println("Great! Congratulations ");
break;
} else if (answer.equalsIgnoreCase("no")) {
println("keep trying it will happen.");
break;
} else {
println("Its a yes or no question");
readline("are you pregnant? ");
}
}
标签:java
来源: https://codeday.me/bug/20191123/2066676.html