Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 比较三个字符串_Java_String_Bluej - Fatal编程技术网

Java 比较三个字符串

Java 比较三个字符串,java,string,bluej,Java,String,Bluej,我知道这个问题以前可能已经有人回答过了,但我在兜圈子。我可以比较两个字符串,但比较三个我不知道如何。我的代码的目的是,玩家有3张牌,如果其中两张牌有相同的花色,那么玩家将获得额外的5分,如果所有三张牌都相同,那么玩家将获得10分。我可以加5分,但只有在三个都正确的情况下我才能加10分。有人能帮忙吗 这是我的密码 private void setScore() { score = cardOne.setScore() + cardTwo.setScore() + c

我知道这个问题以前可能已经有人回答过了,但我在兜圈子。我可以比较两个字符串,但比较三个我不知道如何。我的代码的目的是,玩家有3张牌,如果其中两张牌有相同的花色,那么玩家将获得额外的5分,如果所有三张牌都相同,那么玩家将获得10分。我可以加5分,但只有在三个都正确的情况下我才能加10分。有人能帮忙吗

这是我的密码

    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)
谢谢各位,这是解决我的问题谢谢各位,这是解决我的问题谢谢各位,这是解决我的问题谢谢各位,这是解决我的问题