整数与三维数组中的嵌套for循环

时间:2016-12-12 11:43:08

标签: java arrays for-loop

以下是问题:

在main方法中,创建一个10x10x10三维数组。

通过使用嵌套for循环,存储每个坐标位置之和的值。

例如:位置(3,4,8)= 3 + 4 + 5 = 15

这是我的代码:

import java.util.Arrays;

public class threedim
{

    public static void main(String args[])
    {

   int threeD[][][] = new int[10][10][10];    
   int i, j, k = 0;


        for(i=0; i<10; i++)
            for(j=0; j<10; j++) {
                threeD[i][j] = k;
                k++;
        }


        for(i=0; i<10; i++) {
            for(j=0; j<10; j++)
                System.out.print(threeD[i][j] + " ");
           System.out.println();
        }
      System.out.println();

   }

}

我收到一个不兼容的类型:int无法转换为int []错误,有人可以帮帮我吗?

提前谢谢你:)

2 个答案:

答案 0 :(得分:2)

由于你有一个三维数组,你需要三个嵌套循环:

int h, i, j, k = 0;

for (h=0; h<10; h++) 
    for(i=0; i<10; i++)
        for(j=0; j<10; j++) {
            threeD[h][i][j] = k; // Is that really, what you want to do?
            // threeD[h][i][j] = h + i + j; seems to be the right thing to do according to your explanation
            k++;
        }

for (h=0; h<10; h++) 
    for(i=0; i<10; i++) {
        for(j=0; j<10; j++)
            System.out.print(threeD[h][i][j] + " ");
       System.out.println();
    }

答案 1 :(得分:0)

您的问题是由以下行引起的:

threeD[i][j] = k;

threeD [i] [j] 指的是数组的第三维。您的数组的第三个维度是一个简单的数组。

因此,要设置/添加 k 到这个数组,你应该指定具体的索引。

threeD[i][j][z] = k;

其中 z 是另一个索引。

顺便说一句,在这个特定示例中,您可以将 k 用作&#34; z&#34;:

threeD[i][j][k] = k;