【发布时间】:2020-07-23 20:26:12
【问题描述】:
我正在解决来自 Advent of Code 的 problem,并尝试将输入文件的内容放入数组列表中,这是我的代码:
ArrayList<Integer> arrayList = new ArrayList<>();
try (Scanner s = new Scanner(new File("input.txt")).useDelimiter(",")) {
while (s.hasNext()) {
int b = Integer.parseInt(s.next());
arrayList.add(b);
}
}
catch (FileNotFoundException e) {
// Handle the potential exception
}
System.out.println(arrayList);
当我运行它时,它不会打印数组列表。我不明白为什么,谁能告诉我我做错了什么?
【问题讨论】:
-
您是否要打印 arrayList 中整数的值?如果是这样,请看这里:stackoverflow.com/questions/9265719/print-arraylist
-
如果它只打印
[]而没有其他内容,则 1) 文件为空,或 2) 未找到文件并且您忽略异常. -
也许您正在通过在
catch块中没有任何代码来抑制异常。也许你的文件是空的,所以循环永远不会执行。 -
当然!如果你得到一个异常,除了吞下它你什么都不做,并且你假设你已经成功地读取了值(即使你的文件可能不在你认为的位置)。学习如何使用调试器逐步执行程序也是一个好主意。
-
我尝试对字符串数组列表做同样的事情,但我没有遇到这个问题,它打印了包含文件中所有数字的数组列表。但是一旦我将它改回 int arraylist 它就不会打印。 @DB
标签: java