どこが間違っているのかを見つけようとして、さまざまなフォーラムやサイトを調べましたが、うまくいきませんでした。
public void updatePlayerLabels()
{
if(currPlayer == 0)
lblP1Name.setText(lblP1Name.setText(myPlayers[currPlayer].getName() + " - " + myPlayers[currPlayer].getScore()));
else
lblP2Name.setText(lblP2Name.setText(myPlayers[currPlayer].getName() + " - " + myPlayers[currPlayer].getScore()));
}
エラーは、両方のステートメントで getScore() メソッドを呼び出した場所に表示されるようです。「'void' type not allowed here」というメッセージが 2 つ表示されます。これはプレーヤークラスのスニペットです。
public Player(int number, String name)
{
this.number = number;
this.name = name;
score = 0;
}
public int getScore()
{
return score;
}
私が知る限り、コンストラクターでスコアを 0 に設定し、そのメソッドが呼び出される前にプレーヤーを構築するため、そのエラーは表示されません。
また、コードの他の場所で getScore() メソッドを問題なく使用しています。これらの 2 行から削除するとエラーが消えるため、これは問題のあるメソッドであると確信しています。