Java扑克手评估员不工作

时间:2011-04-21 03:42:28

标签: 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 true;
       }
      }
    return false;

我更新到此。是对还是我错了?这让我感到疯狂,但即时通讯仍在尝试,我将在接下来的两天内无法入睡。

我不允许使用收藏品,所以有点臭。 继承我的Junit

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));

2 个答案:

答案 0 :(得分:1)

Card[] pair= new Card[5];

你还没有保留对数组的元素,所以实际上你将参数卡比较为null。你正在使用==比较卡片,它会检查卡片是否完全相同,这是不对的。

答案 1 :(得分:1)

使用,或者只是阅读和学习其中一个众多的扑克图书馆。这里有一个很好的清单:http://www.codingthewheel.com/archives/poker-hand-evaluator-roundup