java 判断5张牌的组成

题目:

一副牌中发五张扑克牌给你,判断是四条,三带二、三带一加一、两对、一对、顺子、还是什么都不是。

 

控制台输入:

1,1,1,1,2

示例输出:

四条

Java方法的代码:

    static String func(String str){
     String[] parts
= str.split(","); int[] num = new int[5]; for(int i=0;i<5;i++){ num[i] = Integer.parseInt(parts[i]); }
for(int i=4; i>0 ;i--) for(int j=0; j<i; j++){ if(num[j] > num[j+1]){ int temp = num[j]; num[j] = num[j+1]; num[j+1] = temp; } }
      
    
int count = 0; for(int i=0; i<4; i++){ if(num[i] == num[i+1]) count++; } // 11112 12222 // 11122 11222 if(count==3){ if(num[1]==num[3]) return "四条"; else return "三带一对"; } // 11123 12223 12333 // 11223 12233 11233 if(count==2){ if( (num[0]==num[2]) || (num[1]==num[3]) || (num[2]==num[4]) ) return "三带一加一"; else return "两对"; } // 11234 if(count==1) return "一对"; if(count==0 & (num[1]==num[0]+1) & (num[2]==num[1]+1) & (num[3]==num[2]+1) & (num[4]==num[3]+1)) return "顺子"; return "杂牌"; }
原文地址:https://www.cnblogs.com/shuada/p/3615878.html