前提・実現したいこと
初心者です。
javaで簡易版のポーカー役判定をどうやれば実現できるかわかりません。
前提条件
手札は4枚(標準入力で打ち込むだけ、空白なし)。数字は1~9。絵柄はなし。
標準入力で「7777」と入力したら「Four Card」、「1113」と入力したら「Three Card」、「1199」と入力したら「Tow Pair」と表示するプログラムにしたいです。
特に[1199]や「1991」などの「Tow Pair」判定、そして「Tow Pair」でないと判定された後、どうやって「One Pair」の判定を行えばいいかよくわかりません。
発生している問題・エラーメッセージ
該当のソースコード
試したこと
java
1public class Main { 2 public static void main(String[] args) { 3 Scanner sc = new Scanner(System.in); 4 int line = sc.nextInt(); 5 sc.nextLine(); 6 LinkedList<Character> site = new LinkedList<Character>(); 7 char first; 8 char second; 9 int count=0; 10 11 while(sc.hasNextLine()){ 12 String card = sc.nextLine(); 13 for(int i=0; i<card.length(); i++){ 14 site.add(card.charAt(i)); 15 } 16 first=site.get(0);//一番目のカード番号 17 //一番目のカードと一致する回数を調べる 18 for(char number: site){ 19 if(first==number){ 20 count+=1; 21 } 22 } 23 //役判定 24 if(count==4){ 25 System.out.println("Four Cord"); 26 }else if(count==3){ 27 System.out.println("Three Card"); 28 }else if (count==2){ 29 second=site.get(1);//二番目のカード番号 30 for(int i=2; i<4;i++){ 31 if(second==site.get(i)){ 32 System.out.println("Two Pair"); 33 }else if(i==3){ 34 System.out.println("One Pair"); 35 } 36 } 37 }else{ 38 System.out.println("No Pair"); 39 } 40 count=0; 41 site.clear(); 42 } 43 44 //System.out.println("test"); 45 } 46} 47
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。