如果你得到错误答案,你会如何进行java测验,然后不再出现问题,例如
你想吃我吗?人员类型是,然后命令提示符不显示下一个问题,但如果该人说不,则出现下一个问题?我已经弄清楚如何使用参数提出问题,但是当输入错误的答案时,它会显示下一个问题。
那我怎么做就像
你想吃我吗?人:是的
请关闭此窗口或按任意键。
但如果这个人说没有它会说 - 你能飞吗然后问这个问题等 这是我到目前为止的代码,
public static void main(String[] args) {
String fail = "Thank you for your time, please close this window.";
Scanner input = new Scanner(System.in);
System.out.println("You have entered the fast track to becoming a MI6 Intelligence Officer.");
System.out.println("");
System.out.println("Do you wish to continue?");
System.out.println("(All questions are to be answered with 'Yes' or 'No')");
String a = input.next();
if(a.equalsIgnoreCase("yes")){
System.out.println("true");
}
else if(a.equalsIgnoreCase("no")){
System.out.println(fail);
}
else{
System.out.println("ERROR - You typed " + a + " this is incorrect, please type 'Yes' or 'No'");
}
System.out.println("Do you want to protect this country?");
String e = input.next();
if(e.equalsIgnoreCase("yes")){
System.out.println("true");
}
else if(e.equalsIgnoreCase("no")){
System.out.println(fail);
}
else{
System.out.println("ERROR - You typed " + e + " this is incorrect, please type 'Yes' or 'No'");
}
}
所以基本上问题是当我输入错误答案时会显示下一个问题,我希望在错误答案后再显示问题。
答案 0 :(得分:1)
您可以使用基本循环(while,do-while,for)并在需要立即退出循环时放置break语句。 unlabled break语句将退出最内层循环。举个例子:
boolean complete = false;
do{
if(a.equalsIgnoreCase("yes")){
System.out.println("true");
}
else if(a.equalsIgnoreCase("no")){
System.out.println(fail);
break;
}
//Additional questions follow similar format
}while(!complete)
此处的优点是您不会立即退出程序,从而允许您在循环外进一步使用程序。例如,您可以跟踪布尔变量并在循环外部使用它来编写自定义的" Goodbye"消息取决于用户是否正确完成了测验,或者未通过测验(例如,循环后基于布尔值的另一个if / else语句将允许您移动" System.out的每一行.println(fail);"到最后一行。)