如何从用逗号和'\ n'分隔的Java中的控制台获取输入?

时间:2018-07-07 09:36:39

标签: java file-io

我想从控制台获取输入,该控制台由逗号和下一行分隔。例如。输入如下: 1,2(下一行)1,2,3(下一行)2,4,6 ,此处下一行表示下一个输入从下一行开始。 我尝试过,但是有很多并发症,我尝试过:

Scanner sc = new Scanner(System.in);
String line;
String[] lineVector;

line = sc.nextLine();
System.out.print(line);
lineVector = (line.split('\n') || line.split(","));
int ii=2;
int m=Integer.parseInt(lineVector[0]);
int n=Integer.parseInt(lineVector[1]);
int z = n;
int[][] chuteArray = new int[m][n];
for(int i = 0;i < m;i++){
  for(int j = 0;j <n;j++){
    chuteArray[i][j] = Integer.parseInt(lineVector[ii]);
    ii++;
  }
}

但是,它不起作用。

2 个答案:

答案 0 :(得分:0)

您可以使用scanner.useDelimiter("([,\\n])");

Scanner scanner = new Scanner(System.in);
scanner.useDelimiter("([,\\n])");
while (scanner.hasNext()) {
    System.out.println(scanner.nextInt());
}

对于输入1,2\n1,2,3\n2,4,6,此代码将打印

1
2
1
2
3
2
4
6

答案 1 :(得分:0)

PrintStream stream = new PrintStream(new FileOutputStream("console.log", true));
System.setOut(stream);

例如,此代码将系统控制台输出更改为名为console.log的文件。