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