最後のコード行は、エラーp1を解決できません。私はこれが範囲にないことによると信じていますが、私はこの問題を解決する方法がわかりません。ありがとうございました。java変数を解決できません
switch (Player1)
{
case "Human":
{
HumanPlayer p1 = new HumanPlayer(sc, theGame);
break;
}
case "Simple":
{
SimpleComputerPlayer p1 = new SimpleComputerPlayer();
break;
}
case "Random":
{
RandomComputerPlayer p1 = new RandomComputerPlayer();
break;
}
case "Expert":
{
ExpertPlayer p1 = new ExpertPlayer();
break;
}
}
p1.setMySymbol(SquareStatus.CROSS);
'p1'は' case'ブロックの外側では不明です。 'switch'の前に宣言してください。 – Berger
はブロックスコープ外にある変数とは別に、p1を可変オブジェクトとして定義する良い方法です。おそらく、プレーヤータイプはすべての「Player」タイプのすべての子孫ですが、それぞれが潜在的に異なるメソッドを持つようにこれを維持することは苦痛になります。 – Jonathon