哈哈,对于三维数组,可以想象成一个魔方(立方体).
这个立方体由每层->每层的每行->每层的每行的每列组成.
要实现三位数组横向/纵向的输出,需要遍历每个元素进行输出.
假设数组arrray[ ][ ][ ],共3^3=27个元素,分别为0~26.
代码及解释如下:
class MultiArray{
public static void main(String[] xargs)
{
int[][][] arr=new int[3][3][3]; //new个三维数组
int id=0;
for(int i=0;i<arr.length;i++)
for(int j=0;j<arr[i].length;j++)
for(int k=0;k<arr[i][j].length;k++)
{
arr[i][j][k]=id; //依次赋值0.1.2.3.....
id++;
}
System.out.println("------------------纵向打印-----------------");
for(int i=0;i<arr.length;i++){ //1.外层打印每层
for(int j=0;j<arr[i].length;j++){ //2.里层打印每层的每行
for(int k=0;k<arr[i][j].length;k++) //3.打印每行的每列
{
System.out.print(arr[i][j][k]+"\t");
}
System.out.println();
}
}
/*
横向打印比较难理解,根据计算机的打印顺序可以发现:
先打印第一层的第一行的每列,再打印第二层第一行的每列,再打印第三层第一行的每列
所以最外层循环是行,再往里为层,然后才是列.
*/
System.out.println("------------------横向打印-----------------");
for(int j=0;j<3;j++){
for(int i=0;i<arr.length;i++){
for(int k=0;k<arr[i][j].length;k++){
System.out.print(arr[i][j][k]+"\t");
}
}
System.out.println();
}
}
}
网友评论