У меня есть следующий 3D-массив, который мне нужно распечатать как транспонированный.У него есть 10 столбцов, 7 строк, с адресом (x, y) или (столбец, строка)
int[][][] map = {
{{1, 1, 3, 3, 4, 4, 4, 4}, {}, {}, {2, 2}, {}, {}, {}}, //first column
{{}, {}, {}, {}, {}, {}, {}},
{{}, {}, {}, {}, {}, {}, {}},
{{}, {}, {}, {}, {}, {}, {}},
{{}, {}, {}, {}, {}, {}, {0}},
{{}, {}, {}, {}, {}, {}, {}},
{{}, {}, {}, {3, 4}, {}, {}, {}},
{{}, {}, {}, {}, {}, {}, {}},
{{}, {}, {}, {}, {}, {}, {}},
{{}, {}, {}, {}, {}, {}, {}}
};
Я пытался переключить условия, но всегда происходит сбой.
for (int threeD = 0; threeD < map.length; threeD++){
for(int twoD = 0; twoD < map[threeD].length; twoD++){
for (int oneD = 0; oneD < map[threeD][twoD].length; oneD++){
System.out.print(map[threeD][twoD][oneD]);
}
System.out.print(" ");
}
System.out.println();
}
Выполнение приведенного выше кода дает следующий вывод:
{1, 1, 3, 3, 4, 4, 4, 4} {} {} {2 2} {} {} {}
{} {} {} {} {} {} {}
{} {} {} {} {} {} {}
{} {} {} {} {} {} {}
{} {} {} {} {} {} {0}
{} {} {} {} {} {} {}
{} {} {} {3 4} {} {} {}
{} {} {} {} {} {} {}
{} {} {} {} {} {} {}
{} {} {} {} {} {} {}
Требуемый вывод должен выглядеть следующим образом:
{1 1 3 3 4 4 4 4} {} {} {} {} {} {} {} {} {}
{} {} {} {} {} {} {} {} {} {}
{} {} {} {} {} {} {} {} {} {}
{2 2} {} {} {} {} {} {3 4} {} {} {}
{} {} {} {} {} {} {} {} {} {}
{} {} {} {} {} {} {} {} {} {}
{} {} {} {} {0} {} {} {} {} {}
(я оставил скобки, чтобы лучше его визуализировать)