gpt4 book ai didi

java - 该程序的“未知来源”是什么意思以及如何修复它?

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

我一直在尝试从工作簿复制程序并尝试使用磁盘扫描仪,但我遇到了一个问题,其中第 14-17 行(磁盘扫描仪.下一行)我不断收到错误“未知”来源”

这是代码:

public class SomeClassName {
public static void main(String args[]) throws IOException {
Scanner diskScanner = new Scanner(new File("C:\\Users\\student\\Workspace\\TextFiles\\Test.txt"));

diskScanner.nextInt();
diskScanner.nextDouble();
diskScanner.next();
diskScanner.nextLine();
}
}

这是我在控制台中遇到的错误:

Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at SomeClassName.main(SomeClassName.java:14)

我尝试遵循 Eclipse 的所有建议,但没有一个起作用。我有什么遗漏的吗?

编辑:发布了错误的错误,已修复

最佳答案

当扫描仪无法读取更多数据或数据格式错误时,通常会出现此错误。检查您的文件,查看所有数据是否存在且采用您正在读取的格式。使用 Scanner,在实际读取之前,您需要使用 hasNextLine() 检查是否有下一行,或者使用 hasNextInt() 检查是否有下一个 int。像这样的事情

while(sc.hasNextLine()){
str=sc.nextLine();
//...
}

在您的情况下,它似乎无法获取下一个 int,因为它不存在。请再次更改您的数据并执行类似的操作

if(disKScanner.hasNextInt()){
diskScanner.nextInt();
}
// similarly do this check for all reads then only read it

关于java - 该程序的“未知来源”是什么意思以及如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54608346/

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