2011-12-22 121 views
-1
public class Team { 
    public int health; 
    public int x; 
    public int conflict; 

} 

public class Test extends Activity { 
    Team enemy[] = new Team[50]; 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      for(int i =0; i<enemy.length; i++){ 
      enemy[i].health = 0; 
      enemy[i].x = -100; 
      enemy[i].conflict = 0; 
      } 
     } 
} 

隨着for循環我的遊戲崩潰,沒有for循環運行。我究竟做錯了什麼?感謝您提前幫助!對象數組for循環

+1

-1因爲一些非常簡單的調試就可以解決這個問題。 – 2011-12-22 20:31:49

回答

5

當你創建數組:

Team enemy[] = new Team[50]; 

所有條目null。您需要將陣列中的每個元素初始化你的循環:

for(int i =0; i<enemy.length; i++){ 
    enemy[i] = new Team(); // <-- added 
    enemy[i].health = 0; 
    enemy[i].x = -100; 
    enemy[i].conflict = 0; 
} 
0

你忘了實例enemy[i]

執行以下操作,而不是

Team enemy[] = new Team[50]; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    for(int i =0; i<enemy.length; i++){ 
     enemy[i] = new Team(); 
     enemy[i].health = 0; 
     enemy[i].x = -100; 
     enemy[i].conflict = 0; 
    } 
} 
0

您需要創建一個新的團隊對象每次迭代的環

for(int i =0; i<enemy.length; i++){ 
     enemy[i] = new Team(); 
     enemy[i].health = 0; 
     enemy[i].x = -100; 
     enemy[i].conflict = 0; 
     } 
0

你從來沒有初始化元素敵人的仇恨。

enemy[i] = new Team(); 

enemy[i].health = 0; 
enemy[i].x = -100; 
enemy[i].conflict = 0;