2017-03-06 111 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個)。是的,他可以創建一個班級,然後爲每種類型的班機分類,因爲每種類型的班級都需要一種不同類型的班級。這有什麼問題? –