你如何进行java测验?

时间:2016-08-22 17:39:32

标签: java java.util.scanner

如果你得到错误答案,你会如何进行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'");
 }
 }

所以基本上问题是当我输入错误答案时会显示下一个问题,我希望在错误答案后再显示问题。

1 个答案:

答案 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);"到最后一行。)