我有以下3D数组,我需要将其打印为转置数组。它有10列,7行,由(x,y)或(col,row)
处理 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} {} {} {} {} {}
(我离开括号以更好地想象它)
答案 0 :(得分:0)
想出来了!
for (int threeD = 0; threeD < map[0].length; threeD++){
for(int twoD = 0; twoD < map.length; twoD++){
for (int oneD = 0; oneD < map[twoD][threeD].length; oneD++){
System.out.print(map[twoD][threeD][oneD]);
}
System.out.print(" ");
}
System.out.println();
}