0

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

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

4

2 回答 2

1

行。我发现了,这当然是愚蠢的。

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

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

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

所以现在,我只是这样做:

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

它运行良好。

于 2012-09-17T13:39:15.150 回答
0

检查文件中的元素是否是从 0 到 10 的数字。如果您只处理第 0 行,为什么还要有一个 List?

您的代码丢弃了哪个异常?

于 2012-09-17T13:08:51.427 回答