将逗号和制表符的整数文本文件导入java数组

时间:2016-05-19 02:31:22

标签: java arrays

我有一个如下所示的文本文件:

1    2,1    3,5    4
2    1,1    4,2    3,1
3    1,5    4,1    0
4    3,1    2,2    1,3

我想将文本文件分成两个数组,以便第一个数组只是逗号前面的数字,第二个数组只是逗号后面的数字。数字组由制表符分隔。这里的输出应该是:

array1 = {{1,2,3,4},{2,1,4,3},{3,1,4,0},{4,3,2,1}};
array2 = {{0,1,5,0},{0,1,2,1},{0,5,1,0},{0,1,2,3}};

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以单独读取每一行,并使用StringTokenizer获取下一对。

首先,计算输入(n)中的行数,然后计算每行中的行数(m)。这里,n = 4,m = 4。

int[][] array1 = new int[n][m];
int[][] array2 = new int[n][m];

然后,使用StringTokenizer读入输入。

for (int i = 0; i < n; i++) {
    StringTokenizer line = new StringTokenizer(read line here);
    for (int j = 0; j < m; j++) {
        String next = line.nextToken(); //next pair
        String[] values = next.split(","); //split pair by comma
        array1[n][m] = Integer.parseInt(values[0]);
        if (values.length == 2) { //in case there is no comma
            array2[n][m] = Integer.parseInt(values[1]);
        }
    }
}