if else语句

时间:2012-10-24 08:27:14

标签: java if-statement

我遇到问题这个问题有人可以帮忙吗?一个解释是好的,而不是答案自己的答案。

编写一个比较score1和score2值的语句,并执行以下操作。当score1超过score2时,消息“player1 wins”将打印到标准输出。当score2超过score1时,消息“player2 wins”将打印到标准输出。在每种情况下,变量player1Wins,player1Losses,player2Wins和player2Losses,在适当时递增。最后,如果出现平局,则打印消息“tie”并增加变量tieCount。

    if(score1>score2)
     {
         System.out.println("player1 wins");
         player1Wins++;player2Losses++;
     }
    else if(score2>score1)
     {
         System.out.println("player2 wins");
         player2Wins++;player1Losses++;
     }
    else if(score1=score2)
     {
        System.out.println("tie");
        tieCount++;
     }

7 个答案:

答案 0 :(得分:8)

一切都很好除了最后其他。你意外地做了一项任务而不是比较。

else if(score1=score2)

以上 else-if 语句应为: -

else if(score1 == score2)

P.S : - 实际上,您可以使用简单的else if删除 last else。如果相应,则等同于此。因为在前两种情况下你已经考虑了其他可能性。

所以,这也会这样做: -

else {
    System.out.println("tie");
    tieCount++;

}

答案 1 :(得分:3)

分配正在最后else if条件中执行,而不是比较。改为:

else if (score1 == score2)

答案 2 :(得分:1)

你有一个可能导致问题的相等问题

else if(score1=score2) {
    System.out.println("tie");
    tieCount++;
}

应该是

else if(score1==score2) {
    System.out.println("tie");
    tieCount++;
}

您的第一个会将score2的值分配给score1。这是最后一个,尽管如此,即使有这个bug也可能被调用,因为其他两个检查大于和小于。

除此之外,您的代码似乎应该做它应该做的事情。

答案 3 :(得分:1)

else if(score1 == score2)应该完成。 =运算符表示赋值,而==表示检查相等性。

答案 4 :(得分:1)

除了语法错误的最后一个条件外,它也是多余的。用else if ...替换最终的else,一切都会很完美。

答案 5 :(得分:0)

else if(score1=score2)

此声明应为

else if(score1 == score2)

但这比较实际应该是

的引用
else if(score1.equals(score2))

答案 6 :(得分:0)

我认为最后一句话有问题你使用= sign而不是== sign使用



if(score1==score2)