以下是问题:
在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 []错误,有人可以帮帮我吗?
提前谢谢你:)
答案 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;