如何打印转置的 3D 阵列
How to print-out a transposed 3D-array
我有以下 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} {} {} {} {} {}
(为了更好地形象化,我留下了括号)
想通了!
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();
}
我有以下 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} {} {} {} {} {}
(为了更好地形象化,我留下了括号)
想通了!
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();
}