сохранить текстовый файл в 2D матрицу

#java #file #matrix #java.util.scanner #filereader

Вопрос:

я новичок в программировании на Java и понятия не имею, как сохранить текстовую информацию в 2D-матрицу. Следующая операция, которую я собираюсь сделать, — это транспонировать матрицу и т. Д.

Мой код:

  File text = new File("/matrix.txt");

    System.out.print("Path to file: ");
    Scanner sc = new Scanner(System.in);
    String m = sc.nextLine();

    BufferedReader br = new BufferedReader(new FileReader("m));
    String st;

    System.out.println("matrix");

    while ((st = br.readLine()) != null)
        System.out.println(st);
 

вывод, например,:

 matrix
1 0 0 0 0 1 1 
0 1 0 0 1 0 0 
0 0 1 0 1 1 1
0 0 0 1 0 0 1 
 

Мне нужен тот же вывод, что и в матрице. Спасибо

Я пытался:

 Scanner sc = new Scanner(new BufferedReader(new FileReader("/matrix.txt")));
            int rows = 4;
            int columns = 7;
            int [][] myArray = new int[rows][columns];
            while(sc.hasNextLine()) {
                for (int i=0; i<myArray.length; i  ) {
                    String[] line = sc.nextLine().trim().split(" ");
                    for (int j=0; j<line.length; j  ) {
                        myArray[i][j] = Integer.parseInt(line[j]);
                    }
                }
            }
            System.out.println(Arrays.deepToString(myArray));
 

но результат не такой, как я ожидал

 [[1, 0, 0, 0, 1, 1, 1], [0, 1, 0, 0, 1, 1, 0], [0, 0, 1, 0, 0, 1, 1], [0, 0, 0, 1, 1, 0, 1]]
 

да, это corret, но графический вывод отличается. Существует ли другой выбор?

Комментарии:

1. Не могли бы вы включить содержание matrix.txt, а также некоторый код, который показывает, что вы пробовали до сих пор?

Ответ №1:

Попробуйте что-нибудь вроде этого

 System.out.println("[");
for (int i = 0; i < myArray.length; i  ) {
    System.out.print("  [ ");
    for (int j = 0; j < myArray[i].length; j  ) {
        System.out.print(myArray[i][j]   " ");
    }
    System.out.println("]");
}
System.out.println("]");