我有一个android活动,用户指定游戏中的玩家数量,以及赢得游戏所需的点数。一旦用户点击“开始”,一个新的游戏对象应该被创建,无论有多少玩家对象。我已经验证了是否正确地从edittext视图中提取了数字,但是由于某种原因,我从我的游戏类收到了一个空指针异常:

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

这是我的游戏类的代码,还有一个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;
}

10-08 09:14