• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:グーとグーで「あいこ」と表示されない。)

じゃんけんゲームの途中経過を表示できない問題について

このQ&Aのポイント
  • 現在javaを勉強中でして、じゃんけんゲームを作成しているのですが、
  • 出力のところで本来グーとグーで「あいこ」と表示されるはずなんですが、表示されなかったり、「相手側の勝ち」と表示されたりして、本来の表示がうまくできません。
  • ソースコードを見ても間違っているようには見えないのですがどこか間違っていますか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#224808
noname#224808
回答No.1

最後の方のそれぞれのif文内のカッコ間は&&(アンド)ではなく||(オア)ではないでしょうか。 例: if((nyuuryokuyou1==0&&ran==1)&&(nyuuryokuyou1==1&&ran==2)&&(nyuuryokuyou1==2&&ran==0)){ System.out.println ("自分側の勝ち"); ↓ if((nyuuryokuyou1==0&&ran==1)||(nyuuryokuyou1==1&&ran==2)||(nyuuryokuyou1==2&&ran==0)){ System.out.println ("自分側の勝ち");

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5292/13826)
回答No.2

最後の勝ち負け判定の問題でしょう。 && は 論理積(AND)を表す記号です。 > if ((nyuuryokuyou1==0&&ran==0)&&(nyuuryokuyou1==1&&ran==1)&&(nyuuryokuyou1==2&&ran==2)) だと、(入力が0AND乱数が0)(入力が1AND乱数が1)(入力が2AND乱数が2)の全てがTRUEの時に限って「あいこです。」が表示されることになります。 他の勝ちの場合も負けの場合も全て同様です。 カッコ内判定はいいのですが、カッコとカッコを繋ぐのは論理輪(OR)でなければ正しい判定ができませんので && ではなく || で繋ぎましょう。