我有一个如下所示的文本文件:
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}};
谢谢。
答案 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]);
}
}
}