【发布时间】:2018-11-29 03:49:09
【问题描述】:
我正在编写一个程序来读取文件并将字符串存储在 arraylist 中,并将 ints 存储在数组中。该文件包含以下格式的字符串和整数:String int
我已经让字符串部分开始工作,我想知道为什么下面的代码用数字 7 填充我的数组,而不是正确的数字。
正确的输出是:
12, 14, 16, 31, 42, 7
但它给出了:
7, 7, 7, 7, 7, 7
代码:
BufferedReader buffy = new BufferedReader(new FileReader(fileName));
while((str = buffy.readLine()) != null) {
for(int i = 0; i <= arrayInt.length - 1; i++) {
for(int k = 0; k <= str.length()-1; k++) {
if(str.substring(k, k + 1).equals(" ")) {
String nums = str.substring(k+1);
arrayInt[i] = Integer.parseInt(nums);
}
}
}
}
buffy.close();
【问题讨论】:
-
提示:您只需要 1 个循环即可填充一维数组。
-
不是错误,但用于迭代数组的普通 java 习惯用法是
for(int i = 0; i < arr.length; i ++)。