来自不带空格的用户的 Java 填充字符矩阵 [duplicate]

Java filling char matrix from user without space [duplicate]

提问人:ZedORYasuo 提问时间:9/14/2022 最后编辑:ZedORYasuo 更新时间:9/14/2022 访问量:76

问:

我希望能够要求用户填写矩阵。代码有效,但问题是,如果用户不输入带有空格的值,则输出将是错误的。

enter code here
    char [][] matrix = new char[2][2];
    Scanner scanner = new Scanner(System.in);
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 2; j++) {
            matrix[i][j] =scanner.next().charAt(0);
        }
    };

   // the user can enter with space: 
      a b
      c d
   
 // however when the user enters without space the program dont stop and the matrix dont get filled in the right way:
      ab
      cd

// expected output should fill out the matrix with given values from the user without space.
 
for-loop 矩阵 char java.util.scanner fill

评论


答:

0赞 Badr B 9/14/2022 #1

它需要带有此代码的空格,因为 的默认分隔符是空格。这意味着在空格处拆分输入(如空格)并返回下一个块。为了不需要空格,您必须使用ScannerScannerscanner.next()

scanner.useDelimiter("");

在调用之前(即在 for 循环之前)。scanner.next()

评论

0赞 ZedORYasuo 9/14/2022
谢谢先生!几乎是对的。我现在得到输出:[[a,b],[,c]] 而不是 [[a,b],[c,b]]。而且我不知道为什么当我打印矩阵时,矩阵的后半部分最终会出现在下一行