これはプレイヤークラスです
package day6;
public class Player {
int playerId;
public Player(int playerId) {
super();
this.playerId = playerId;
}
public int getPlayerId() {
return playerId;
}
}
これはポジションクラスです
package day6;
public class Position {
private int positionNumber = 0;
public Position(int positionNumber) throws Exception {
super();
this.positionNumber = positionNumber;
}
public int getPositionNumber() {
return positionNumber;
}
}
これはゲームクラスです
package day6;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;
public class Game {
private int numberOfPlayers;
HashMap<Player, Position> hashMapForPositionOfPlayer = new HashMap<Player, Position>(numberOfPlayers);
@SuppressWarnings("unchecked")
public Game(int numberOfPlayers) throws Exception {
super();
this.numberOfPlayers = numberOfPlayers;
for (int i = 0; i <numberOfPlayers; i++) {
hashMapForPositionOfPlayer.put(new Player(i), new Position(0));
}
}
public void play() throws Exception {
Position currentPosition;
for (int i = 0; i < numberOfPlayers; i++) {
Player player = new Player(i);
currentPosition = hashMapForPositionOfPlayer.get(player);
int value = currentPosition.getPositionNumber();
}
}
}
プログラムGameクラスとgame.play()を実行しようとしましたが、ハッシュマップの0番目の値に対してnull値が表示されています。
これは、キー値0のハッシュマップに対してcurrentPosition=nullを意味します。
助けて..