如何在java中创建3D数组?

时间:2017-03-06 11:30:37

标签: java arrays

下图中包含我想要创建的3D阵列的结构

我有5个航班号码777,747,777,747777

如果航班= 777,我想创建一个大小为5*3的二维数组 如果flight = 747,则为大小为10*5的2D数组。

Structure of Flight 3D array

int seat[][][] = new int [5][][];
int flight = 0;
while (flight < 5) {
    if (Boeing_Number[flight] == 777) {
        seat = new int[flight][5][3];
    } 
    else if (Boeing_Number[flight] == 747) {
        seat = new int[flight][10][5];
        System.out.println(" created ");
    }
    flight++;
}

3 个答案:

答案 0 :(得分:0)

也许你可以定义两个clasess:

  • Flight777类,其大小为5x3的2D数组作为属性
  • Flight747类,其大小为10x5的2D数组作为属性

这并不能回答你关于3D阵列的问题,但我认为它可以成为解决问题的更好解决方案。

答案 1 :(得分:0)

如果你想创建

  • 尺寸为5 * 3的2D阵列(如果航班= 777)
  • 尺寸为10 * 5的2D阵列(如果航班= 747)

并设置为seat 的相应索引(其中索引由变量flight定义):

int seat[][][] = new int [5][][];
int flight = 0;
while (flight < 5) {
    if (Boeing_Number[flight] == 777) {
        seat[flight] = new int[5][3];
    } 
    else if (Boeing_Number[flight] == 747) {
        seat[flight] = new int[10][5];
    }
    flight++;
}

答案 2 :(得分:-1)

import java.util.Scanner;

public class ThreeDArray

{

 public static void main(String []args)

 {

  Scanner s=new Scanner(System.in);

  System.out.println("Enter number of Pages:");

  int p=s.nextInt();

  System.out.println("Enter number of rows:");

  int r=s.nextInt();

  System.out.println("Enter number of colums:");

  int c=s.nextInt();

  int arr[][][]=new int[p][r][c];

  System.out.println("Enter numbers in Three dimentional Array:");

   for(int j=0;j<arr.length;j++)

  for(int i=0;i<arr.length;i++)

  for(int k=0;k<arr.length;k++)

  {

   arr[i][j][k]=s.nextInt();

  }

  System.out.println("printing");

  for(int j=0;j<arr.length;j++)

  for(int i=0;i<arr.length;i++)

  for(int k=0;k<arr.length;k++)

  {

   System.out.println(arr[i][j][k]);

  }

 }

}