現在、javaの練習としてジャンケンのプログラムを作っています。
「あいこ」になった際、再度ジャンケンをする、ところが無限ループしてしまいます。
どなたかJavaに詳しい方がいらっしゃいましたらアドバイスいただけませんでしょうか。
よろしくどうぞお願いいたします。
▽条件
ジャンケンをする2人を生成する
その二人がジャンケンをする
勝った方の名前を出力する
あいこになった場合、二人が再度ジャンケンをする
import java.util.Random; class jyanken{ public static void main(String[] args){ Person person1 =new Person("tanaka"); Person person2 =new Person("suzuki"); System.out.println("それではジャンケンをはじめます"); person1.printData(); person2.printData(); while (true) { if(person1.getStr()=="グー" && person2.getStr()=="グー"||person1.getStr()=="チョキ" && person2.getStr()=="チョキ"||person1.getStr()=="パー" && person2.getStr()=="パー"){ System.out.println("あいこ"); person1.printData(); person2.printData(); }else if(person1.str=="グー"&&person2.str=="チョキ"||person1.str=="チョキ"&&person2.str=="パー"||person1.str=="パー" && person2.str=="グー") { System.out.println(person1.name+"の勝ちです"); break; }else{ System.out.println(person2.name+"の勝ちです"); break; } } } } class Person{ public String name; String[] strs = {"グー","チョキ","パー"}; Random r = new Random(); String str = strs[r.nextInt(3)]; Person(String name){ this.name = name; } public String getStr(){ return str; } public void printData(){ System.out.println(this.name); Random r = new Random(); String str = strs[r.nextInt(3)]; System.out.println(this.str); } }
▽エラーメッセージ
エラーメッセージは出ないが、「あいこ」になった場合、ループしてしまう
▽利用環境
windows10
Visual Studio code
コマンドプロント
回答1件
あなたの回答
tips
プレビュー