识别单独的分隔符Java

时间:2015-11-12 22:55:36

标签: java arrays multidimensional-array java.util.scanner

我试图使用扫描仪从文件中读取,该扫描仪使用两个不同的分隔符并将它们放入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();
     }
 }

我真的只需要知道如何区分正在读取的分隔符

1 个答案:

答案 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); 
}