存储文本文件中的一维数组 java

store 1d array from text file java

我是否正确阅读了以下输入?

到目前为止,这是我的代码:

    while ((line = br.readLine()) != null) {
        line = line.substring(line.indexOf('[')+1, line.indexOf(']'));
        String[] parts = line.split(",");

        for (int i = 0; i< parts.length; i++) {                               
            rangeNo[i]= Integer.parseInt(parts[i]);

            System.out.println("{" + rangeNo[i] + "}"); 
    }
  }

这是我的输入

 [2,9], [3,11]

此外,当我尝试打印 rangeNo[3] 的值时,它 return 0 而不是 3

有人可以帮我解决这个问题吗?

您希望 [2,9], [3,11] 位于 one 行还是 two 单独的行?

如果它应该是 one line 那么你可能想尝试这样的事情

    Integer rangeNo[] = new Integer[10];
    String line = "[2,9], [3,11]";
    line = line.replace('[', ' ');
    line = line.replace(']', ' ');
    String[] parts = line.split(",");

    for (int i = 0; i < parts.length; i++) {
        rangeNo[i] = Integer.parseInt(parts[i].trim());
        System.out.println("{" + rangeNo[i] + "}");
    }

当你在这里查看时

line = line.substring(line.indexOf('[')+1, line.indexOf(']'));

符合第一个条件。也就是说,在 [2,9] 之后工作正常,因此只有 29 存储在这里。

String[] parts = line.split(",");

所以

parts[0]=2
parts[1]=9
parts[2]=0