gpt4 book ai didi

java - 使用扫描仪的万无一失的用户输入程序

转载 作者:行者123 更新时间:2023-12-01 07:58:42 25 4
gpt4 key购买 nike

此方法是一个更大程序的一部分,该程序要求特定的用户输入,我需要此方法来提示用户输入,直到其正确为止。这就是我所拥有的

public static String validName(Scanner input, Scanner histogram) {
String user = "";
String name = input.next();
boolean test = false;
while (histogram.hasNext()) {
user = histogram.next();
if (name.equalsIgnoreCase(user)) {
test = true;
break;
}
else {
test = false;

}
}
if (!test) {
System.out.println("Name not found");
}
return user;
}

扫描仪直方图正在读取 txt 文件。到目前为止,它运行良好,但实际上它只经历了一次。

我可以更改或添加什么才能使其正常工作?

最佳答案

这里有一个快速修复方法。在运行直方图之前,创建一个临时扫描仪并将其设置为等于直方图。如果找到用户,则 validName() 将返回该用户,如果没有,则通过传入 input 和直方图 tmp 的副本来重复此函数>。这将完成工作,但不是完成此任务的正确方法。

已更新

创建一个临时字符串并将每个用户添加到该字符串中,后跟一个空格。如果检查失败,则使用由用户字符串构造的匿名 Scanner 调用该函数。

public static String validName(Scanner input, Scanner histogram) {
String user = "";
String name = input.next();
String tmp = "";
boolean test = false;

while (histogram.hasNext()) {
user = histogram.next();
tmp += user + " ";

if (name.equalsIgnoreCase(user)) {
test = true;
break;
}
else {
test = false;

}
}
if (!test) {
System.out.println("Name not found");
user = validName(input, new Scanner(tmp));
}
return user;
}

关于java - 使用扫描仪的万无一失的用户输入程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27101258/

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