gpt4 book ai didi

java - 我在使用 FileReader 将 txt 文件写入数组 (Java) 时遇到问题,我做错了什么?

转载 作者:行者123 更新时间:2023-11-29 04:02:19 28 4
gpt4 key购买 nike

Scanner s = null;
try {
s = new Scanner(new BufferedReader(new FileReader("rates.txt")));
for (int i=0; i<9; i++){
while(s.hasNext()){rates[i] = s.next();}
System.out.println(rates[i]);
}
}catch (IOException e){
System.out.println(e);
}
finally {
if (s != null) {
s.close();
}
}

当我运行这段代码时,它会读取我的 txt 文件中的最后一个字符 block ,将它们放在 rates[0] 中,在 1-9 中保持为空。我不确定为什么它首先读取我的文件末尾。 txt的内容如下..

USD 1.34

EUR 1.00

JPY 126.28

GBP 0.88

INR 60.20

它读取 60.20,这是它在数组中记录的全部内容。任何帮助,将不胜感激。我想我可以给你运行这段代码的结果:

run:
60.20
null
null
null
null
null
null
null
null
BUILD SUCCESSFUL (total time: 0 seconds)

最佳答案

while(s.hasNext()){rates[i] = s.next();}

用简单的英语来说,就是说:当还有剩余的标记时,将下一个标记放入 rates[i]

所以它会将第一个标记放入 rates[i],然后将下一个标记放入 rates[i],然后将下一个标记放入 rates[ i],...,最后是 rates[i] 中的最后一个标记。由于 i 没有被修改,所有的值都被写入数组的同一个元素,覆盖了之前读取的值。

关于java - 我在使用 FileReader 将 txt 文件写入数组 (Java) 时遇到问题,我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2613481/

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