2017-03-02 129 views
0

我試圖創建一個看起來像object1 []。object2 []的對象數組。但是,我的代碼似乎無法正常工作,所以我的代碼在哪裏出錯?Java對象陣列中的對象陣列

public class Program 
{ 
    public static void main(String[] args) { 
     int evolve = 1; 
     int rows = 2; 


     Evolution[] a = new Evolution[evolve]; 
     for(int i=0; i<evolve; i++){ 
      a[i] = new Evolution(); 

      Evolution.Node[] b = a[i].new Node[rows]; 
     } 

    } 
} 

public class Evolution{ 
    double fitness; 
    public class Node{ 
     double value = 900; //900 was a test value 
    } 
    public class Synapsis extends Node{ 
     double weight; 
     double input; 
     double output; 
    } 
} 
+1

你說的意思是什麼「不會出現上班」?你有錯誤嗎?你得到錯誤的輸出。請在您的問題中添加更多細節。 –

回答

0

你混淆內部類實例化與數組實例化的語法。您的陣列創建應該是這樣的:

Evolution.Node[] b = new Evolution.Node[rows]; 

如果你想填充數組,那麼你就需要這樣的事:

for (int j = 0; j < rows; j++) { 
    b[j] = a[i].new Node(); 
} 
+0

'a [i] .new Node()'是否是有效的Java語法? –

+1

@TotZam [Yup。](https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html)看起來很有趣,我知道。 – shmosel

+0

我很少使用嵌套類。我想這就是爲什麼我從未見過這種語法。剛剛學到了新東西。謝謝。 –