我试图使用扫描仪从文件中读取,该扫描仪使用两个不同的分隔符并将它们放入2D数组中。我想要的是在读取1个分隔符时,将字符串沿一个维度放入数组中。当读取第二个分隔符时,在另一个维度中将数组递增1并开始将值放在第二个维度的下一个索引中。我喜欢这样的东西:
i = 0;
k = 0;
int[][] array;
while(scanner.hasNext()){
if(delim1){
array[i][k] = scanner.next();
i++;
}
else if (delim2){
i = 0;
k++;
array[i][k] = scanner.next();
}
}
我真的只需要知道如何区分正在读取的分隔符
答案 0 :(得分:0)
假设文件格式为
0,3,3,6-5,4,6,2-5,4,3,6
试试这个,它在循环的每次迭代中读取一个字符。
String delim1 = ",";
String delim2 = "-";
while(scanner.hasNext()) {
String s = scanner.next();
if (s.equals(delim1)) {
i++;
continue;
} else if (s.equals(delim2)) {
i = 0;
k++;
continue;
}
array[i][k] = Integer.parseInt(s);
}