gpt4 book ai didi

java - 用户输入多个值和 "skips Validation"

转载 作者:太空宇宙 更新时间:2023-11-04 10:48:52 25 4
gpt4 key购买 nike

我只是用我的一个小程序进行休闲编码,我发现我可以通过输入多个值并在它们之间放置一个空格来有效地跳过验证。例如,我的代码片段如下:

while(counter == 0) {
try{
int choice = input.nextInt();
System.out.println("Good job");
++counter;
} catch(InputMismatchException Exception) {
System.out.println("You did something wrong");
input.next();
}
}

当它要求用户输入时,我只需输入“h 4”,它就会接受它,当然它会说“你做错了什么”,但它也会显示“干得好”。如果用户要做这样的事情,我需要做什么才能让我的代码考虑整行并显示“你做错了”。

我在编写程序时就考虑到用户只会输入一条信息,例如“hello”或“4”。直到现在我才考虑到他们可以输入“hello 4”,我的程序现在因此受到了一些影响。

最佳答案

您必须使用nextLine在给出错误输入后读取整行。

所以替换这个:

input.next();

将其放入您的 catch block 中:

input.nextLine();

说明:

当您输入“h 4”时,input.next(); 读取“h”并保留“4”,这是一个很好的值,因为可以解析为 int,并且 int choice = input.nextInt(); 在循环再次开始时读取该值。相反,当您使用 readLine 时,它会在显示消息后读取完整的错误输入“h 4”,再次循环并等待给出新值。

关于java - 用户输入多个值和 "skips Validation",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48066185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com