オブジェクト指向についてお伺いしたいことがあります。
java
1 /** 2 * ジャンケンを開始する 3 * 4 * @param player1 判定対象プレイヤー1 5 * @param player2 判定対象プレイヤー2 6 */ 7 public void startJanken (Player player1, Player player2) { 8 System.out.println("ジャンケンスタート"); 9 10 for(int cnt = 0; cnt < 0; cnt++) { 11 System.out.println("第" + (cnt+1) + "回戦目"); 12 13 //プレイヤーの手を見て勝ち負けを判断する 14 Player winner = judgeJunken(player1, player2); 15 16 if(winner != null) { 17 System.out.println("この勝負"+ winner.getName() + "の勝ち"); 18 } else { 19 System.out.println("この勝負引き分け"); 20 } 21 } 22 23 System.out.println("試合終了"); 24 25 Player finalWinner = judgeFinalWinner(player1, player2); 26 27 System.out.println(player1.getWinCount() + "対" + player2.getWinCount()); 28 29 if(finalWinner != null) { 30 System.out.println("勝者は"+ finalWinner.getName()); 31 finalWinner.notifyResult(true); 32 33 } else { 34 System.out.println("最終結果は~~引き分け"); 35 } 36 } 37 38 /** 39 * 勝者を判断する 40 * 41 * @param player1 判定対象プレイヤー1 42 * @param player2 判定対象プレイヤー2 43 * @return 勝ったプレイヤー 引き分けの場合はnullを返す 44 */ 45 public Player judgeJunken(Player player1, Player player2) { 46 Player winner = null; 47 48 int player1hand = player1.showHand(); 49 int player2hand = player2.showHand(); 50 51 printHand(player1hand); 52 System.out.println("vs"); 53 printHand(player2hand); 54 55 //プレイヤー1が勝つ場合 56 if ((player1hand == Player.STONE && player2hand == Player.SCISSOR) 57 || (player1hand == Player.SCISSOR && player2hand == Player.PAPER) 58 || (player1hand == Player.PAPER && player2hand == Player.STONE)) { 59 60 winner = player1; 61 62 //プレイヤー2が勝つ場合 63 } else if ((player1hand == Player.SCISSOR && player2hand == Player.STONE) 64 || (player1hand == Player.PAPER && player2hand == Player.SCISSOR) 65 || (player1hand == Player.STONE && player2hand == Player.PAPER)){ 66 67 winner = player2; 68 } else { 69 winner = null; 70 } 71 72 return winner; 73 }
上記のコードのstartJankenメソッドのPlayer winner = judgeJunken(player1, player2); について引数を(Player player1, Player player2)とするとエラーが発生します。
public Player judgeJunken(Player player1, Player player2)と実装しているので問題ないと思っていたのですが、なぜエラーになるのでしょうか。
回答1件
あなたの回答
tips
プレビュー