IsFlush 布尔值

IsFlush boolean

我有这个方法 IsFlush,它检查一手牌是否同花。我还有另一种方法 SuitHist,它创建了手中有多少花色的直方图。 IsFlush的目的是统计数组中的花色,如果有5个或更多花色相同,则return为真。但是,当我尝试将 SuitHist 初始化为一个整数数组 flush 时,SuitHist 的参数给出了一个错误,我能得到什么帮助吗?

    public static int[] SuitHist(Card[] hand) {
        int[] histSuit = new int[4];
        for (int i = 0; i < hand.length; i++) {
            histSuit[hand[i].suit]++;
        }
        return histSuit;
    }

    public static boolean IsFlush(Cards[] deck) {
        int[] flush = SuitHist(deck);
        for (int i = 0; i < flush.length; i++) {
            for (i = 0; i < 4; i++) {
                if (flush[i] >= 5)
                    return true;
            }
        }
        return false;
    }

我觉得你打错了。 SuitHist 需要一个 Card[] 类型的数组,但在 IsFlush 中你有 Cards[] 类型的牌组。尝试像这样更改函数:

public static boolean IsFlush(Card[] deck){
....
}