3D java阵列打印,另一种方式

时间:2014-02-24 14:26:03

标签: java arrays printing 3d

Hello其他程序员!

我将在这里发布我的全部代码。我想要得到的是数组内部的完整列表。我想出了如何用for循环和.length来做到这一点。

我在这里要问的是:还有其他方法可以打印整个数组吗?

代码从这里开始:

double[][][] skuskaTroj = new double[][][] {
        {
                { 12.44, 525.38, -6.28, 2448.32, 632.04 }, // [0][][]
                { -378.05, 48.14, 634.18, 762.48, 83.02 },
                { 64.92, -7.44, 86.74, -534.60, 386.73 } 
        },{
                { 48.02, 120.44, 38.62, 526.82, 1704.62 }, // [1][][]
                { 56.85, 105.48, 363.31, 172.62, 128.48 },
                { 906.68, 47.12, -166.07, 4444.26, 408.62 } 
        },{
                { 27, 263, 37.43, 26874, 5547 }, // [2][][]
                { 53, 978, 264, 338, 25287 },
                { 18765, 222, 363.28, 225.29, 12345 }, 
        }
};
for (int x = 0; x < skuskaTroj.length; x++) {
    for (int y = 0; y < skuskaTroj.length; y++) {
        for (int z = 0; z < 5; z++) {
            System.out.println("Hodnota je: " + skuskaTroj[x][y][z]);
        }
    }
}

另外,正如您所看到的,在最后一个循环中我使用了z&lt; 5因为z < skuskaTroj.length对我没用。它没有打印整个列表。跳过了每一行的第4和第5个数字。知道为什么吗?

谢谢;)

2 个答案:

答案 0 :(得分:1)

因为你的数组是3 x 3 x 5个字段,skuskaTroj.length是3(第一部分)。如果要引用实际数组,则第一个循环结束条件为y < skuskaTroj[x].length,第二个z < skuskaTroj[x][y].length

答案 1 :(得分:1)

Java中不存在真正的三维数组。它只是一个数组数组的数组。

for (int x = 0; x < skuskaTroj.length; x++){
  for (int y = 0; y < skuskaTroj[x].length; y++){
    for (int z =0; z < skuskaTroj[x][y].length; z++){

当然,如果任何子数组可能为空,您还应检查null