在while循环中进行扫描仪输入验证

我必须在 循环中显示Scanner输入:用户必须插入输入,直到他写下“ quit”为止。因此,我必须验证每个输入以检查他是否写出“

quit”。我怎样才能做到这一点?

while (!scanner.nextLine().equals("quit")) {

System.out.println("Insert question code:");

String question = scanner.nextLine();

System.out.println("Insert answer code:");

String answer = scanner.nextLine();

service.storeResults(question, answer); // This stores given inputs on db

}

这行不通。如何验证每个用户的输入?

回答:

问题是nextLine()

“使该扫描程序前进到当前行之外”。因此,当您调用nextLine()while条件并且不保存返回值时,您将丢失用户输入的那一行。nextLine()对第3行的调用返回另一行。

您可以尝试这样的事情

    Scanner scanner=new Scanner(System.in);

while (true) {

System.out.println("Insert question code:");

String question = scanner.nextLine();

if(question.equals("quit")){

break;

}

System.out.println("Insert answer code:");

String answer = scanner.nextLine();

if(answer.equals("quit")){

break;

}

service.storeResults(question, answer);

}

以上是 在while循环中进行扫描仪输入验证 的全部内容, 来源链接: utcz.com/qa/398063.html

回到顶部