現在javaを勉強中でして、じゃんけんゲームを作成しているのですが、 出力のところで本来グーとグーで「あいこ」と表示されるはずなんですが、表示されなかったり、「相手側の勝ち」と表示されたりして、本来の表示がうまくできません。ソースコードを見ても間違っているようには見えないのですがどこか間違っていますか? ちなみにNetBeansを使用しております。よろしくお願いします。 /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package jyanken1; */ import java.io.*; import java.lang.invoke.MethodHandles; import java.util.Random; import jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper; class Jyanken1 { /** * @param args the command line arguments */ public static void main (String[] args) throws IOException{ // TODO code application logic here String nyuuryoku; int nyuuryokuyou1; int sentouhyou; System.out.println ("じゃんけんゲームを始めます"); System.out.println ("0.グー 1.チョキ 2.パー"); BufferedReader nyuryokuyou = new BufferedReader (new InputStreamReader (System.in)); Random rnd = new Random(); nyuuryoku=nyuryokuyou.readLine (); nyuuryokuyou1=Integer.parseInt (nyuuryoku); while (nyuuryokuyou1 >=3){ System.out.println ("エラーです。もう一度入力しなおしてください"); System.out.println ("0.グー 1.チョキ 2.パー"); nyuuryoku=nyuryokuyou.readLine (); nyuuryokuyou1=Integer.parseInt (nyuuryoku); } switch(nyuuryokuyou1){ case 0: System.out.println ("自分側:グー"); break; case 1: System.out.println ("自分側:チョキ"); break; case 2: System.out.println ("自分側:パー"); break; } int ran = rnd.nextInt(2); switch(ran){ case 0: System.out.println ("cp:グー"); break; case 1: System.out.println ("cp:チョキ"); break; case 2: System.out.println ("cp:パー"); break; } if((nyuuryokuyou1==0&&ran==1)&&(nyuuryokuyou1==1&&ran==2)&&(nyuuryokuyou1==2&&ran==0)){ System.out.println ("自分側の勝ち"); }else if((nyuuryokuyou1==0&&ran==2)&&(nyuuryokuyou1==1&&ran==0)&&(nyuuryokuyou1==2&&ran==1)){ System.out.println ("相手側の勝ち"); }else if ((nyuuryokuyou1==0&&ran==0)&&(nyuuryokuyou1==1&&ran==1)&&(nyuuryokuyou1==2&&ran==2)) { System.out.println ("あいこです。"); } } }
↧