如何使用 keyboard.next().charAt(0) 将值存储到数组?在 java

how to store values to array using keyboard.next().charAt(0)? in java

这就是我所拥有的,但只有当我在使用文件重定向时每个字符之间有一个 space 时它才有效。如何在 .txt 文件中没有任何 spaces 的情况下读取它? public class 迷宫分析 {

    public static void main(String[] args)
    {
        Scanner keyboard = new Scanner(System.in);
        int n = keyboard.nextInt();// stores the dimensions of the maze
        char[][] mazeValue = new char[n][n];
        String values = keyboard.nextLine();
        char[] mazeValue1 = new char[values.length()];
        for(int j=0; j<values.length(); j++)
            mazeValue1[j] = values.charAt(j);
         printMazeValue(mazeValue);
        }

同样,这从文件中读取,只有当我有 space 时,例如 [O X O O O ]。我如何使用此 [OXOOO] 将值存储到 mazeValue 中?

如果你想从没有分隔符的输入中读取字符,你可以这样做:

public static void main(String[] args) {
    Scanner keyboard = new Scanner(System.in);
    int n = keyboard.nextInt();
    keyboard.nextLine();
    char[][] mazeValue = new char[n][n];
    for (int i = 0; i < n; i++) {
        String values = keyboard.nextLine();
        for (int j = 0; j < values.length(); j++) mazeValue[i][j] = values.charAt(j);
    }


}

假设您的输入格式为:

3
OOO
XXX
ZZZ

您应该在循环开始前收到输入..

String values = keyboard.nextLine();
char[] mazeValue1 = new char[values.length()];
for(int j=0; j<values.length(); j++)
    mazeValue1[j] = values.charAt(j);