gpt4 book ai didi

java - .hasNext() 上的无限循环

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

我正在尝试读取文件并提取最大的数字。我想读完文件,但 hasNext() 一直给我 true 。当我尝试将其更改为 hasNextInt() 时,即使我的字符为整数,它也永远不会进入。如何跳出循环并正确读取整数?非常感谢您的帮助。

int maxScore=0;
int score = 0;
Scanner scan = new Scanner("PacManHighScore");
while(scan.hasNext()) {
if(scan.hasNextInt()) {
score = scan.nextInt();
}
System.out.println(score);
if(score > maxScore) {
maxScore = score;
}
}
scan.close();

最佳答案

您忘记跳过非 int 值,因此您陷入了无限循环。

尝试下面的代码。

int maxScore=0;
int score = 0;
Scanner scan = new Scanner("PacManHighScore");
while(scan.hasNext()) {
if(scan.hasNextInt()) {
score = scan.nextInt();
}else{
scan.next();
}
System.out.println(score);
if(score > maxScore) {
maxScore = score;
}
}
scan.close();

关于java - .hasNext() 上的无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60717078/

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