• 締切済み

javaじゃんけんゲーの質問

このjavaじゃんけんゲームで 0を押すまでじゃんけんが続いて0押したら終了して、終了と表示して、じゃんけんの勝敗が表示されるように作りたいんですけどどうしたらいいですか?教えてください import java.io.*; class kadai6 { public static void main(String args[]) throws IOException { System.out.println("これは、じゃんけんゲームです。"); System.out.println("あなたの手を入力して下さい。(1:グー、2:チョキ、3:パー、0:終了)さぁどれにしますか?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int res =Integer.parseInt(str); switch(res){ case 1: System.out.println("あなたの手はグーです。"); break; case 2: System.out.println("あなたの手はチョキです。"); break; case 3: System.out.println("あなたの手はパーです。"); break; default: System.out.println("あなたの入力した値はエラーです。1~3の値を入力してください。"); System.exit(1); break; } int comp = (int)(Math.random()*3) + 1; switch (comp){ case 1: System.out.println("コンピュータの手はグーです。"); break; case 2: System.out.println("コンピュータの手はチョキです。"); break; case 3: System.out.println("コンピュータの手はパーです。"); break; default: System.out.println ("エラーです。"); break; } switch (res -comp) { case -2: System.out.println("コンピュータの勝ちです。"); break; case -1: System.out.println ("あなたの勝ちです。"); break; case 0: System.out.println ("あいこです。"); break; case 1: System.out.println ("コンピュータの勝ちです。"); break; case 2: System.out.println("あなたの勝ちです。"); break; default: System.out.println ("エラーです。"); break; } } }

みんなの回答

  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.2

「じゃんけんクラスを書いて、自分の手をsetterで与えて  結果をgetterで取り出す」 という仕様にしないとダメです。 現行は、メインメソッドの中で、じゃんけんをしたり 結果をコンソール出力したり、ごちゃごちゃになっています。 少なくとも、この2つは分離してないといけないでしょう。 この意味は分かりますか? 日常生活から考えて、じゃんけんすることと、結果を画面に 表示することは全く無関係な事だからです。 基本的なオブジェクト指向設計の方法を勉強されるのが 良いと思います。 今、Javaの書籍はお持ちになっておられるでしょうか? 私が、簡単なじゃんけんクラスを書いてみましょうか?

noname#49428
noname#49428
回答No.1

無限ループにして、0がきたら処理を抜けるようにする。

関連するQ&A

専門家に質問してみよう