gpt4 book ai didi

java - 为什么我的程序在没有相应的打印语句的情况下打印值?

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

我试图弄清楚如何从 java 中的文件中读取一系列值。该文件有多行,每行中的值用逗号分隔。在编写测试程序只是为了弄清楚如何在扫描仪中使用分隔符时,我遇到了程序从文件打印值的问题。我不知道程序从哪里获取打印所有值的指令。

这是我的 public static void main 中的内容(在 try 循环内):

File f1 = new File("Data1.txt");
File test = new File("test.txt");
Scanner reader = new Scanner(f1);
Scanner testReader = new Scanner(test);
testReader.useDelimiter(",");

System.out.println("line 18 "+testReader.nextInt());
System.out.println("line 19 "+testReader.nextInt());
System.out.println("line 20 "+testReader.next());
System.out.println("line 21 "+testReader.nextInt());

我正在读取的文件是 test.txt:

4,5,6 
7
8,9,10

这就是正在打印的内容:

line 18 4
line 19 5
line 20 6
7
8
line 21 9

最佳答案

您的扫描仪未将换行符视为分隔符。这就是 scanner.next()

返回换行符的原因

解决方案是将扫描仪配置为使用空格和逗号作为分隔符:

testReader.useDelimiter("(,|\\s)");

参见here有关 "(,|\\s)" 等模式的更多信息。

关于java - 为什么我的程序在没有相应的打印语句的情况下打印值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60551438/

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