[英]Increment multidimensional array in Java
我有一个要放入多维数组的文件。 我必须将[0]作为日期(长),并且其中一个维度必须根据第二个令牌的值而增加。
这是代码:
BufferedReader bufStatsFile = new BufferedReader(new FileReader(statsFile));
String line = null;
List<Long[]> stats = new ArrayList<Long[]>();
stats.add(new Long[11]);
int i = 0; // will be in a loop later
while((line = bufStatsFile.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line,";");
while(st.hasMoreTokens()) {
stats.get(i)[0] = Long.parseLong(st.nextToken());
stats.get(i)[Integer.parseInt(st.nextToken())]++; // Here is the problematic line.
}
}
bufStatsFile.close();
但是增量不起作用。 也许是因为我的数组可能不正确,但是我没有找到另一种合适的方法来做到这一点。
好。 我发现了,那当然是愚蠢的。
问题出在我的数组声明中。 我是那样做的:
List<Long[]> stats = new ArrayList<Long[]>();
stats.add(new Long[11]);
然后,我尝试增加一个Object而不是一个长整数。
所以现在,我就是这样:
List<long[]> stats = new ArrayList<>();
stats.add(new long[11]);
而且它工作正常。
检查文件中的元素是从0到10的数字。为什么只操作第0行,为什么会有一个List?
您的代码会丢弃哪个异常?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.