как я могу показать значения матрицы в строке - PullRequest
1 голос
/ 02 сентября 2011

У меня есть матрица: 5х15:

for(int i=0;i<5;i++){
for(int j=0;j<15;j++){
String[][] Matrix = { { "0", "0", "", "0", "5", "6", "", "", "55", "", "", "", "", "" }, { "1723", "0", "", "0", "0", "3", "", "", "2", "", "", "", "", "" },
        { "10", "0", "", "0", "0", "0", "", "", "0", "", "", "", "", "" }, { "69", "0", "", "0", "0", "20", "", "", "100", "", "", "", "", "" },
        { "35", "0", "", "0", "15", "20", "", "", "57", "", "", "", "", "" } };
system.out.println(Matrix);
}}

и мне нужно напечатать каждую строку: line1, line2, .. line5

Ответы [ 3 ]

2 голосов
/ 02 сентября 2011
final String[][] matrix = { { "0", "0", "", "0", "5", "6", "", "", "55", "", "", "", "", "" },
        { "1723", "0", "", "0", "0", "3", "", "", "2", "", "", "", "", "" },
        { "10", "0", "", "0", "0", "0", "", "", "0", "", "", "", "", "" },
        { "69", "0", "", "0", "0", "20", "", "", "100", "", "", "", "", "" },
        { "35", "0", "", "0", "15", "20", "", "", "57", "", "", "", "", "" } };

for (String[] row : matrix) {
    System.out.println((Arrays.toString(row)));
}

Будет выдавать следующий вывод:

[0, 0, , 0, 5, 6, , , 55, , , , , ]
[1723, 0, , 0, 0, 3, , , 2, , , , , ]
[10, 0, , 0, 0, 0, , , 0, , , , , ]
[69, 0, , 0, 0, 20, , , 100, , , , , ]
[35, 0, , 0, 15, 20, , , 57, , , , , ]
0 голосов
/ 02 сентября 2011

Удалите system.out.println(Matrix); и добавьте в конце (вне двух циклов):

for (int i = 0; i < matrix.length; ++i) {
  System.out.println(Arrays.asList(matrix[i]));
}

Массивы не могут быть напечатаны для чтения, но такие коллекции, как List, являются.

PS: byусловные обозначения, переменные начинаются со строчной буквы, типы и константы начинаются с прописной буквы

0 голосов
/ 02 сентября 2011

Вы могли бы сделать что-то вроде

for (String[] row : matrix)
    System.out.println(Arrays.toString(row));

Чтобы исправить ваш код Я предлагаю вам убрать объявление матрицы из цикла и добавить print / println следующим образом:

String[][] Matrix = {
        { "0", "0", "", "0", "5", "6", "", "", "55", "", "", "", "", "" },
        { "17", "0", "", "0", "0", "3", "", "", "2", "", "", "", "", "" },
        { "10", "0", "", "0", "0", "0", "", "", "0", "", "", "", "", "" },
        { "69", "0", "", "0", "0", "20", "", "", "10", "", "", "", "", "" },
        { "35", "0", "", "0", "15", "20", "", "", "57", "", "", "", "", "" }
};

for(int i=0;i<5;i++){
    for(int j=0;j<14;j++){
        if (j > 0)
            System.out.print(", ");

        System.out.printf("%2s", Matrix[i][j]);
    }
    System.out.println();
}

Выход:

 0,  0,   ,  0,  5,  6,   ,   , 55,   ,   ,   ,   ,   
17,  0,   ,  0,  0,  3,   ,   ,  2,   ,   ,   ,   ,   
10,  0,   ,  0,  0,  0,   ,   ,  0,   ,   ,   ,   ,   
69,  0,   ,  0,  0, 20,   ,   , 10,   ,   ,   ,   ,   
35,  0,   ,  0, 15, 20,   ,   , 57,   ,   ,   ,   ,   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...