Java 比较三个字符串
我知道这个问题以前可能已经有人回答过了,但我在兜圈子。我可以比较两个字符串,但比较三个我不知道如何。我的代码的目的是,玩家有3张牌,如果其中两张牌有相同的花色,那么玩家将获得额外的5分,如果所有三张牌都相同,那么玩家将获得10分。我可以加5分,但只有在三个都正确的情况下我才能加10分。有人能帮忙吗 这是我的密码Java 比较三个字符串,java,string,bluej,Java,String,Bluej,我知道这个问题以前可能已经有人回答过了,但我在兜圈子。我可以比较两个字符串,但比较三个我不知道如何。我的代码的目的是,玩家有3张牌,如果其中两张牌有相同的花色,那么玩家将获得额外的5分,如果所有三张牌都相同,那么玩家将获得10分。我可以加5分,但只有在三个都正确的情况下我才能加10分。有人能帮忙吗 这是我的密码 private void setScore() { score = cardOne.setScore() + cardTwo.setScore() + c
private void setScore()
{
score = cardOne.setScore() + cardTwo.setScore() + cardThree.setScore();
if(cardOne.getSuitName().equals(cardTwo.getSuitName()))
if(cardOne.getSuitName().equals(cardThree.getSuitName()))
if(cardTwo.getSuitName().equals(cardThree.getSuitName()))
{
score = score + 5;
}
if(cardOne.getSuitName().equals(cardTwo.getSuitName().equals(cardThree.getSuitName())))
{
score = score + 5;
}
}
尝试使用“and”操作符&&
:
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) && cardOne.getSuitName().equals(cardThree.getSuitName()))
{
score = score + 5;
}
尝试使用“and”操作符&&
:
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) && cardOne.getSuitName().equals(cardThree.getSuitName()))
{
score = score + 5;
}
尝试使用“and”操作符&&
:
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) && cardOne.getSuitName().equals(cardThree.getSuitName()))
{
score = score + 5;
}
尝试使用“and”操作符&&
:
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) && cardOne.getSuitName().equals(cardThree.getSuitName()))
{
score = score + 5;
}
基本上,如果第二张牌和第一张牌一样,第三张牌和第一张牌一样,那么第二张牌和第三张牌也一样。您可以将它们放在一个if
语句中,并使用+=
基本上,如果第二张牌和第一张牌一样,第三张牌和第一张牌一样,那么第二张牌和第三张牌也一样。您可以将它们放在一个if
语句中,并使用+=
基本上,如果第二张牌和第一张牌一样,第三张牌和第一张牌一样,那么第二张牌和第三张牌也一样。您可以将它们放在一个if
语句中,并使用+=
基本上,如果第二张牌和第一张牌一样,第三张牌和第一张牌一样,那么第二张牌和第三张牌也一样。您可以将它们放在一个if
语句中,您可以使用+=
将分数增加五分,如下所示:
Set<String> suits = new HashSet<>(Arrays.asList(
cardOne.getSuitName(),cardTwo.getSuitName(),cardThree.getSuitName()));
if(suits.size() == 1) score += 10;
else if(suits.size() == 2) score += 5;
Set suits=newhashset(Arrays.asList(
cardOne.getSuiteName(),cardTwo.getSuiteName(),cardThree.getSuiteName());
如果(suits.size()==1)得分+=10;
否则,如果(suits.size()==2)得分+=5;
这样做:
Set<String> suits = new HashSet<>(Arrays.asList(
cardOne.getSuitName(),cardTwo.getSuitName(),cardThree.getSuitName()));
if(suits.size() == 1) score += 10;
else if(suits.size() == 2) score += 5;
Set suits=newhashset(Arrays.asList(
cardOne.getSuiteName(),cardTwo.getSuiteName(),cardThree.getSuiteName());
如果(suits.size()==1)得分+=10;
否则,如果(suits.size()==2)得分+=5;
这样做:
Set<String> suits = new HashSet<>(Arrays.asList(
cardOne.getSuitName(),cardTwo.getSuitName(),cardThree.getSuitName()));
if(suits.size() == 1) score += 10;
else if(suits.size() == 2) score += 5;
Set suits=newhashset(Arrays.asList(
cardOne.getSuiteName(),cardTwo.getSuiteName(),cardThree.getSuiteName());
如果(suits.size()==1)得分+=10;
否则,如果(suits.size()==2)得分+=5;
这样做:
Set<String> suits = new HashSet<>(Arrays.asList(
cardOne.getSuitName(),cardTwo.getSuitName(),cardThree.getSuitName()));
if(suits.size() == 1) score += 10;
else if(suits.size() == 2) score += 5;
Set suits=newhashset(Arrays.asList(
cardOne.getSuiteName(),cardTwo.getSuiteName(),cardThree.getSuiteName());
如果(suits.size()==1)得分+=10;
否则,如果(suits.size()==2)得分+=5;
您可以使用流操作符或(|
)和(&&
) 您可以使用流操作符或(|
)和(&&
) 您可以使用流操作符或(|
)和(&&
) 您可以使用流操作符或(|
)和(&&
) 考虑到分数是一个整数数据类型,我们可以尝试如下比较卡值
private void setScore()
{
int score = cardOne.setScore() + cardTwo.setScore() + cardThree.setScore();
// check if any two cards are same
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) ||
cardOne.getSuitName().equals(cardThree.getSuitName()) ||
cardTwo.getSuitName().equals(cardThree.getSuitName())){
score += 5;
// check if all three cards are same
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) && cardTwo.getSuitName().equals(cardThree.getSuitName())){
score += 5;
}
}
}
希望上面的代码片段能有所帮助。考虑到分数是一个整数数据类型,我们可以尝试如下比较卡值
private void setScore()
{
int score = cardOne.setScore() + cardTwo.setScore() + cardThree.setScore();
// check if any two cards are same
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) ||
cardOne.getSuitName().equals(cardThree.getSuitName()) ||
cardTwo.getSuitName().equals(cardThree.getSuitName())){
score += 5;
// check if all three cards are same
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) && cardTwo.getSuitName().equals(cardThree.getSuitName())){
score += 5;
}
}
}
希望上面的代码片段能有所帮助。考虑到分数是一个整数数据类型,我们可以尝试如下比较卡值
private void setScore()
{
int score = cardOne.setScore() + cardTwo.setScore() + cardThree.setScore();
// check if any two cards are same
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) ||
cardOne.getSuitName().equals(cardThree.getSuitName()) ||
cardTwo.getSuitName().equals(cardThree.getSuitName())){
score += 5;
// check if all three cards are same
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) && cardTwo.getSuitName().equals(cardThree.getSuitName())){
score += 5;
}
}
}
希望上面的代码片段能有所帮助。考虑到分数是一个整数数据类型,我们可以尝试如下比较卡值
private void setScore()
{
int score = cardOne.setScore() + cardTwo.setScore() + cardThree.setScore();
// check if any two cards are same
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) ||
cardOne.getSuitName().equals(cardThree.getSuitName()) ||
cardTwo.getSuitName().equals(cardThree.getSuitName())){
score += 5;
// check if all three cards are same
if(cardOne.getSuitName().equals(cardTwo.getSuitName()) && cardTwo.getSuitName().equals(cardThree.getSuitName())){
score += 5;
}
}
}
希望上面的代码片段能有所帮助。您熟悉
&&
操作员吗?将所有三个套装名称放入集合中,然后调用size()
。甚至可能score+=(15-theSet.size()*5)代码>为了使代码更容易理解,请将SuiteName放入变量中。它将缩短if语句<代码>字符串card1Suit=cardOne.getSuitName()。。。如果(card1Suit.equals(card2Suit)和&card1Suit.equals(card3Suit)
您熟悉&
操作符吗?将所有三个套装名称放入集合中,然后调用size()
。甚至可能分数+=(15-集合大小()*5)
为了使代码更容易理解,将suitName放入一个变量中。它将缩短if语句。字符串card1Suit=cardOne.getSuitName();…if(card1Suit.equals(card2Suit)&&card1Suit.equals(card3Suit)
您熟悉&&
操作员吗?将所有三个套装名称放入集合
并调用size()
。甚至可能score+=(15-theSet.size()*5)
为了使代码更容易理解,将suitName放入一个变量中。它将缩短if语句。字符串card1Suit=cardOne.getSuitName();…if(card1Suit.equals(card2Suit)&&card1Suit.equals(card3Suit)
您熟悉&&
操作员吗?将所有三个套装名称放入集合
并调用size()
。甚至可能score+=(15-theSet.size()*5)
为了使代码更容易理解,将suitName放入一个变量中。它将缩短if语句。字符串card1Suit=cardOne.getSuitName();…if(card1Suit.equals(card2Suit)&&card1Suit.equals(card3Suit)
谢谢各位,这是解决我的问题谢谢各位,这是解决我的问题谢谢各位,这是解决我的问题谢谢各位,这是解决我的问题