我正在编写一个扑克牌代码,用于查找手中的各种扑克牌。我在实现每个方法后编写测试。
我编写了 isFlush() 代码来测试这手牌是否是同花。
public boolean isFlush()
{
for (int i = 0; i < 4; i++)
{
if (cards.get(i).getSuit() == cards.get(i + 1).getSuit())
{
return true;
}
}
return false;
}
这是相应的测试,构建成功但测试实际上失败了。它说预期是假的,但这是真的。我在代码中做错了什么,没有正确测试刷新?
@Test public void testIsFlush()
{
pokerHand.add(aceClubs);
pokerHand.add(kingSpades);
pokerHand.add(threeClubs);
pokerHand.add(fourClubs);
pokerHand.add(fiveClubs);
assertEquals(false, pokerHand.isFlush());
}
最佳答案
public boolean isFlush()
{
for (int i = 0; i < 4; i++)
{
if( !cards.get(i).getSuit().equals(cards.get(i + 1).getSuit()) )
{
return false;
}
}
return true;
}
最好检查两张连续的牌花色是否不相同。
关于Java PokerHand 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35208555/