private static int getCountZero(int[] arr){
int countZero = 0;
for(int i=0;i<arr.length && arr[i] == 0;i++){
countZero++;
// if(arr[i] == 0){
// countZero++;
// }
}
if(countZero>2){
//重新随机
isSeries();
// return false;
}
return countZero;
}
private static boolean isSeries(int[] arr){
Arrays.sort(arr);
//1.大小王个数
int countZero = getCountZero(arr);
//2.统计间隔数
int countGrap = 0;
for (int i = countZero;i<arr.length-1;i++){
if(arr[i] == arr[i+1]){
return false;
}
if(arr[i]+1 != arr[i+1]){
//统计间隔数 0 0 1 2 3 4 9
for(int j=arr[i];j<arr[i+1]-1;j++){
//
countGrap++;
}
}
}
if(countZero >= countGrap){
return true;
}
return false;
}
public static void isSeries(){
Random random = new Random();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入牌个数");
int count = scanner.nextInt();
int[] arr = new int[count];
for(int i=0;i<arr.length;i++){
arr[i] = random.nextInt(14);//[0,14)
}
System.out.println(Arrays.toString(arr));
boolean flag = isSeries(arr);
if(flag){
System.out.println("是顺子");
}else{
System.out.println("不是顺子");
}
}
从扑克牌中随机抽5张排,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为 1,J为11,Q为12,K为13,而大,小王可以看成任意数字。
猜你喜欢
转载自blog.csdn.net/qq_44822679/article/details/89520227
今日推荐
周排行