Java poker hand evaluator无法工作

Java poker hand evaluator无法工作,java,arrays,poker,Java,Arrays,Poker,我正在努力想办法通过考试,但实际上我正在努力。恐怕我的检测结果是假阳性 public static boolean hasPair(Card[] cards) { Card[] pair= new Card[5]; for(int i=0; i<5; i++) { for(int j=i+1; j<5; j++) { if(pair[i].equals(cards[j])) return

我正在努力想办法通过考试,但实际上我正在努力。恐怕我的检测结果是假阳性

public static boolean hasPair(Card[] cards) {
     Card[] pair= new Card[5];
     for(int i=0; i<5; i++)
     {
       for(int j=i+1; j<5; j++)
       {
         if(pair[i].equals(cards[j]))
           return true;
       }
      }
    return false;

您尚未初始化pair数组的元素,因此实际上您正在将参数卡与null进行比较。您使用的Plua==比较牌,检查牌是否完全相同,这是不对的。

使用或只是阅读和学习许多扑克库中的一个。这里有一个很好的列表:

我还有5个,但我已经为扑克游戏工作了一周,仍然在努力it@JavaProgrammer确保在
卡上正确执行equals
返回您过去提出的问题,并单击正确答案旁边的绿色复选标记。这可以让你奖励那些回答问题的人。
public void testhasPair(){

         Card[] pair= new Card[5];

                pair[0]=new Card(5,1);
                pair[1] = new Card(1,1);
                pair [2]=new Card(1,2);
                pair [3]=new Card(3,3);
                pair [4]=new Card(6,3);
            assertTrue(PokerHandEvaluator.hasPair(pair));
Card[] pair= new Card[5];