gpt4 book ai didi

Java 函数仅适用于一个文本文件

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

我创建了一个函数,它使用链接列表中的节点将文本文件分配为 8 个字符的 block 。代码片段(Scanner b 和 LinkedList 列表已初始化):

b = new Scanner(new BufferedReader(new FileReader("files\\A.txt")));
b.useDelimiter("");
String A = null;

while (b.hasNext()) {
A = null;
A = b.next();
for (int i = 0; i < 7; i++) {
A = A.concat(b.next());
}
list.Insert(A);

文件 A.txt 内容如下:

You can do anything, but not everything.

此函数适用于我的文本文件 A 并创建 5 个节点(总共 40 个字符),但如果我要在代码中替换 B.txt 或 C.txt,则它不适用于它们。

文件 B.txt 内容如下:

You must be the change you wish to see in the world.

文件 C.txt 内容如下:

Always forgive your enemies; nothing annoys them so much.

每当我替换 B.txt 或 C.txt 时,我都会收到以下错误消息:

Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at Main.CreateBlocks(Main.java:82)
at Main.main(Main.java:64)

这可能是什么原因造成的?

最佳答案

因为您尝试读取的字符数多于文件中的字符数。 B.txt 有 52 个字符,并且您的算法仅在文件中的字符数为 8 的倍数(例如 40)时才有效,就像 A.txt 中一样。你必须控制它

关于Java 函数仅适用于一个文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36435342/

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