2011-04-21 44 views
3

我想弄清楚如何通過這個,但實際上工作。恐怕我得到誤報。Java撲克手評估器不能正常工作

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

我改成這個 – Cferrel 2011-04-21 04:21:44

+1

回到你過去問過的問題,點擊正確答案旁邊的綠色複選標記。這可以讓你獎勵他們的答案。 – austinbv 2011-04-21 04:37:50

回答

1
Card[] pair= new Card[5]; 

你沒有innitialized對數組的元素,因此,實際上你是比較參數卡爲空。 Plua你正在使用==比較卡片,它檢查卡片是否是完全相同的卡片,這是不正確的。

+0

使用.equals方法? – Cferrel 2011-04-21 04:00:11

+0

我得到了5個人,但我一直在撲克遊戲上工作了一個星期,仍然在啓動它 – Cferrel 2011-04-21 04:01:58

+0

.equals,正確 – MeBigFatGuy 2011-04-21 04:14:15