重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

この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;
}
}
}

A 回答 (2件)

「じゃんけんクラスを書いて、自分の手をsetterで与えて


 結果をgetterで取り出す」
という仕様にしないとダメです。

現行は、メインメソッドの中で、じゃんけんをしたり
結果をコンソール出力したり、ごちゃごちゃになっています。
少なくとも、この2つは分離してないといけないでしょう。
この意味は分かりますか?
日常生活から考えて、じゃんけんすることと、結果を画面に
表示することは全く無関係な事だからです。

基本的なオブジェクト指向設計の方法を勉強されるのが
良いと思います。
今、Javaの書籍はお持ちになっておられるでしょうか?


私が、簡単なじゃんけんクラスを書いてみましょうか?
    • good
    • 0

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!