gpt4 book ai didi

java - 使用 Scanner 在一行中读取多个数字

转载 作者:行者123 更新时间:2023-11-30 08:06:46 24 4
gpt4 key购买 nike

我需要使用扫描器从一行中读取多个数字(不知道我要读取多少个数字,但我知道它们最多有六个数字)。我尝试了在网上找到的一些东西,但找不到解决方案。当用户写入 -1 时,读取停止。这是我到目前为止写的内容:

Scanner read = new Scanner(System.in);
int i;
float buffer[] = new float[6];

while (read.nextInt() != -1) {
if (read.hasNextInt()) {
buffer[i] = read.nextInt();
i++;
} else {
break;
}
}

当我尝试运行它时,我得到一个 NoSuchElementException,但我不明白为什么。这段代码有什么问题?我该如何纠正这个问题?提前致谢。

最佳答案

因为您没有检查 Scanner 是否有另一个 int(并且 Scanner 不返回 -1 当它没有另一个元素时)。这个

while (read.nextInt() != -1) {

应该是这样的

while (read.hasNextInt()) {
int val = read.nextInt();
if (val == -1) {
break;
}
buffer[i] = val;
i++;
}

关于java - 使用 Scanner 在一行中读取多个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34120449/

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