我有一個撲克程序,在那個程序中我有方法檢查數組中是否有四種。如何查看數組是否具有4個相同的值。 Java
public boolean isFourOfAKind(Card[] arr){}
我通過抓住每個卡值,2-14 ARR []改變爲int數組,並將它們存儲在一個單獨的陣列。如何檢查(高效)4個整數是否與該陣列相同?
*注意:我傳遞的7張牌
數組我的兩對方法(通過請求)
/*
* Returns 0 if no two pairs
* else returns the highest card out of the two pairs,
* if two hands have the same highest pair then further inspection is needed
*/
public static int isTwoPair(Card[] arr){
int hold[] = new int[5];
int values[] = new int[arr.length];
int max = 0;
boolean total = false;
for(int i=0;i<arr.length;i++){
values[i] = arr[i].getValue();
}
for(int i = 0;i<values.length;i++){
for(int j = 0;j<values.length;j++){
if(i==j){
continue;
}
if(values[i]==values[j]){
if(values[i]>max){
max = values[i];
}
int hold1 =0;
int hold2=0;
hold1 = j;
hold2=i;
int counter = 0;
for(int ii = 0;ii<values.length;ii++){
if(ii==j||ii==i){
continue;
}
hold[counter] = values[ii];
counter++;
}
// for(int iii: hold){
// System.out.print(" , "+ iii);
// }
// System.out.println();
if(isPair(hold)==0){
max = 0;
total = false;
}else{
int holdInt = isPair(hold);
if(holdInt>max){
max = holdInt;
}
total = true;
}
}
}
}
return max;
}
你如何檢查兩種? – dognose