gpt4 book ai didi

java - 如果用户输入特定关键字,如何停止从扫描仪读取?

转载 作者:行者123 更新时间:2023-12-02 00:57:53 24 4
gpt4 key购买 nike

我需要能够在控制台中输入随机数的整数,然后在完成后输入特殊字符,例如 Q。但是,我不确定如何验证输入是否为 int。

重点是用户输入 x 个整数,这些整数从客户端发送到服务器,服务器从一个简单的方程返回结果。我计划一次发送一个,因为它可以是输入的任意数量的整数。

我尝试了几种不同的方法。我尝试过使用 hasNextInt。我尝试了 nextLine 然后将每个输入添加到 ArrayList 然后解析输入。

List<String> list = new ArrayList<>();
String line;

while (!(line = scanner.nextLine()).equals("Q")) {
list.add(line);
}

list.forEach(s -> os.write(parseInt(s)));

这是我最初的另一个循环,它可以很好地验证输入,但我不确定完成后如何退出循环。

while (x < 4) {
System.out.print("Enter a value: ");

while (!scanner.hasNextInt()) {
System.out.print("Invalid input: Integer Required (Try again):");
}

os.write(scanner.nextInt());
x++;
}

如有任何帮助,我们将不胜感激。谢谢

最佳答案

给你:

Scanner scanner = new Scanner(System.in);
List<Integer> list = new ArrayList<Integer>();

while (scanner.hasNext()) {
String line = scanner.nextLine();

if (line.equals("Q")) {
scanner.close();
break;
}

try {
int val = Integer.parseInt(line);
list.add(val);
} catch (NumberFormatException e) {
System.err.println("Please enter a number or Q to exit.");
}
}

关于java - 如果用户输入特定关键字,如何停止从扫描仪读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61085897/

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