2017-03-06 109 views
-1

在下面的图中包含我要创建如何在java中创建3D数组?

我有5个航班与数字777,747,777,747777三维阵列的结构。

我想创建一个二维数组大小5*3如果飞行= 777 与大小10*5一个二维数组,如果飞行= 747

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++; 
} 
+2

[在Java中初始化多维数组]可能的副本(http://stackoverflow.com/questions/1067073/initialising-a-multidimensional-array-in-java) –

回答

0

如果要创建

  • 大小的2D阵列5 * 3(如果飞行= 777)
  • 尺寸的二维阵列10 * 5(如果飞行= 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++; 
} 
0

也许你可以定义而不是两个错误:

  • Flight777类有一个尺寸为5x3的二维数组作为属性
  • 其中有大小10x5的二维数组作为属性

这不回答你的3D阵列的问题,但我认为这可能是一个更好的解决方案来解决这个问题的一个类Flight747。

+0

为特定实例创建类是一种可怕的解决方案。唯一可以接受的是Flight类和其中的实例。 – Silverclaw

+0

他正在做每个类的几个实例(777中的3个和747中的2个)。是的,他可以创建一个班级,然后为每种类型的班机分类,因为每种类型的班级都需要一种不同类型的班级。这有什么问题? –