import java.util.*; class Janken3 extends Janken1{ public static void main(String[] args){ boolean cont = true; while(cont){ int wc=0, wh=0; while(wc<3 && wh<3) { Janken1 j1 = new Janken1(); int r = j1.play1(); if(r==1) wc++; else if(r==2) wh++; } if(wh==3) System.out.println("3勝"+wc+"敗で人の勝ちです。" ); else System.out.println("3勝"+wh+"敗でコンピュータの勝ちです。"); } } } class Janken1 { static Scanner stdIn = new Scanner(System.in); static String[] name = { "人","コンピュータ"}; Random rand = new Random(); public static void main(String[] args) { Janken1 j1 = new Janken1(); int r = j1.play1()-1; System.out.println(name[r]+"の勝ち"); } int play1() { // 関数値で勝者を返す 1:人 2:コンピュータ String[] hand={"グー", "テョキ","パー"}; int r; do { int c = rand.nextInt(3); System.out.print("手(0:グー/ 1: テョキ/ 2:パー) ? "); int h = stdIn.nextInt(); System.out.println(name[0]+hand[h]); System.out.println(name[1]+hand[c]); r = (c+3-h)%3; if(r==0) System.out.println("あいこ"); } while(r==0); return r; } }
上のプログラムはじゃんけんを行って先に3回勝った方を勝ちとするプログラム、、、のはずなんですが1回勝ったら勝ちになってしまいます。Janken1クラスは1回ごとのじゃんけんの勝敗を表していて、Janken3クラスは3回先勝を表しています。必ずJanken1クラスを継承してJanken3クラスをつくらなければなりません。どこを直したら良いか教えていただけないでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。