簡體   English   中英

為我的玩家分配名字時為什么會出現空指針異常?

[英]Why am I getting a null pointer exception when assigning names to my players?

我有一個Android活動,用戶指定游戲中玩家的數量,以及贏得游戲所需的積分。 一旦用戶單擊“開始”,就應該使用多個Player對象創建一個新的Game對象。 我已經驗證過正確地從EditText Views中提取數字,但由於某種原因,我在我的Game類中收到了一個空指針異常:

players[i].name = "Player " + i;

這是我的Game類的代碼,還有一個Player類,它有一個數據成員名稱(我沒有包含)。

 public class Game{
  public int i;
  public int numOfPlayers;
  public int maxScore;
  Player[] players;

      public Game(int numOfPlayers, int maxScore){
          this.maxScore = maxScore;
          this.numOfPlayers = numOfPlayers;

          players= new Player[numOfPlayers];
           for(i =0; i<numOfPlayers;i++){
              players[i].name = "Player " + i;
          }
  }
 }

感謝您抽出寶貴時間閱讀本文,感謝您的幫助。

您需要實例化每個播放器對象以及數組:

for(i =0; i<numOfPlayers;i++){
   players[i] = new Player();
   players[i].name = "Player " + i;
}

您創建了陣列,但沒有創建任何玩家。 創建數組時,數組中的所有點最初都為null。

創建播放器,然后指定其名稱。

players[i] = new Player();
players[i].name = "Player " + i;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM