2016-05-23 8 views
2

静的arraylistsに問題があります。Static ArrayList - 拡張ループを実装します

私は文字列を取るプレーヤークラスを持っています。

public Player (String s) {  
    myPlayerName = s; 
    myPlayerScore = 0; 
} 

私はプレイヤーのスタティック配列とストリングの静的配列を持っています。

私は、arraylistに値を設定する機能を持っています。

public void buildPlayerList() {  
    System.out.println("Before - " + MY_PLAYER_LIST.size()); 
    for (String temp: TEST_PLAYER_LIST) { 
     Player tempPlayer = new Player(temp); 
     MY_PLAYER_LIST.add(tempPlayer); 
     System.out.println("Player: " + tempPlayer.getMyPlayerName()); 
    } 
    System.out.println("After - " + MY_PLAYER_LIST.size()); 
    for (Player temp: MY_PLAYER_LIST) {  
     System.out.println(temp.getMyPlayerName());  
    } 
} 

ただし、出力は次のとおりです。

Before - 0 
Player: adam 
Player: eve 
Player: john 
Player: mary 
After - 4 
Player: mary 
Player: mary 
Player: mary 
Player: mary 

私が間違っていることを理解してもらえますか?

+3

'' Player'クラスのmyPlayerName'はおそらく静的です。静的キーワードを削除します。 – Eran

+2

myPlayerNameの解読も表示してください –

+1

'Player'の' myPlayerName'は静的ではありませんか? – Serg

答えて

5

次のようにプレイヤーのクラスが見えることを確認してください:

public class Player{ 
    private String myPlayerName; 
    private int myPlayerScore; 
    public Player (String s) {  
     myPlayerName = s; 
     myPlayerScore = 0; 
    } 
    public String getMyPlayerName() { 
     return myPlayerName; 
    }   
} 
+1

これはplayerNameが静的であると思われるので動作します – Supahupe

+1

これは正解をマークする必要があります。 – mubeen

+0

Safwanありがとうございました - はい、それは私を台無しにしていたプレーヤークラスの静的でした – Walkerbo

関連する問題