三个完全相同的if语句测试,但第三个失败JAVA

时间:2017-09-14 05:17:08

标签: java

为什么我的if语句在两个测试中返回true但是第三个测试失败,即使它与测试2相同。 我试图制作一个基本的篮球记分牌。

我使用了三行
.arrow-down{
  transform: rotate(90deg);  /* 90 degres rotation */
}

将总点数设置为9,但第三个点继续返回false语句。 if语句只允许总共6个点。

scoreboard2.homeGoal(3);

3 个答案:

答案 0 :(得分:1)

假设mHomePoints最初为0,则调用homeGoal(3)三次:

  1. mHomePoints更新为3并返回true
  2. mHomePoints更新为6并返回true
  3. return false
  4. 完全相同的调用会生成3个不同的结果,因为该方法为stateful

答案 1 :(得分:0)

  

为什么我的if语句在两次测试中返回true但第三次失败...

因为这里有一个定义不明确的逻辑mHomePoints >= 0 && mHomePoints < 4

一旦mHomePoints中存储的分数高于3,该方法将返回false ...

答案 2 :(得分:0)

我刚刚完成了它,而不是if(mHomepoints)它应该是if(points)

public boolean homeGoal(int points) {
    boolean success = true;
    if (mHomePoints >= 0 && mHomePoints < 4) {
        mHomePoints = mHomePoints + points;
    } else {
        success = false;
    }
    return success;

}

谢谢大家的帮助。