gpt4 book ai didi

JAVA - 扫描仪获取用户输入

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

我有以下 block 代码:

    boolean run = true;
while (run) {
Scanner scanner = new Scanner(System.in);
// do something

System.out.println("Another action? [Y/N]");
while (!scanner.hasNext("[YyNn]")) {
System.out.println("Incorrect input");
scanner.next();
}
String choice = scanner.next();
if (choice.toLowerCase().equals("f"))
run = false;

scanner.close();
}

我想执行某些操作,直到用户输入“N”。目前,我只能运行一次 while 循环。第二次我无法输入我的选择,并且出现以下错误:

Another action? [Y/N]     <--- here no chance to type choice
Incorrect input
java.util.NoSuchElementException
at java.util.Scanner.throwFor
at java.util.Scanner.next

出了什么问题?谢谢

编辑:我认为我的问题在于“做某事”。这又是我关闭扫描仪的用户输入序列。

最佳答案

我取下了 scanner.close(); 并添加了 "fF" 到模式中,它会一直运行直到我输入 f 或 F:

 boolean run = true;
while(run){
System.out.println("Another action? [Y/N]");
while (!scanner.hasNext("[YyNnfF]")) {
System.out.println("Incorrehct input");
scanner.next();
}
String choice = scanner.next();
if(choice.toLowerCase().equals("f"))
run = false;

// scanner.close();
}

关于JAVA - 扫描仪获取用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47694095/

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