在Java中增加多维数组

时间:2012-09-17 12:54:42

标签: multidimensional-array

我有一个放在多维数组中的文件。我必须将[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();

但增量不起作用。也许是因为我的阵列可能不正确,但我没有找到另一种正确的方法来做到这一点。

2 个答案:

答案 0 :(得分:1)

确定。我发现它当然是愚蠢的。

问题出在我的数组声明中。我这样做了:

    List<Long[]> stats = new ArrayList<Long[]>();
    stats.add(new Long[11]);

然后,我尝试增加一个Object而不是一个长数字。

所以现在,我就是这样做的:

    List<long[]> stats = new ArrayList<>();
    stats.add(new long[11]);

它完美无缺。

答案 1 :(得分:0)

检查文件中的元素是否为0到10之间的数字。如果只是操作0行,为什么还要有List?

您的代码丢失了哪个例外?