You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java if语句无法按规则累加PerfectQuarter计数问题排查

逻辑错误点

  • 第一,条件分支冗余且判断逻辑顺序错误:
    第一个if条件是teamOneQuarterOne > teamTwoQuarterOne,第二个else if的条件teamTwoQuarterOne < teamOneQuarterOne和第一个if的判断完全等价,永远不会触发。当出现0-1也就是team1得分小于team2的情况时,前两个分支都不满足,会走到第三个else if (teamOneQuarterOne < teamTwoQuarterOne)的分支里,但这个分支没有加PerfectQuarter的计数逻辑,自然不会给team2累加计数。
  • 第二,已有的PerfectQuarter判断逻辑完全写反:
    在teamOneQuarterOne > teamTwoQuarterOne的分支里,你写的判断条件是teamOneQuarterOne == 0 && teamTwoQuarterOne > 0,但这个分支的前提是team1得分更高,team1得0的情况下不可能比team2得分高,这个判断永远为假。同理第二个else if里的判断也和分支场景不匹配。

修正后代码

if (teamOneQuarterOne > teamTwoQuarterOne) {
    teamOneStats += "W-";
    teamTwoStats += "L-";
    // 队1赢的场景下,完美局是队2得0、队1得分
    if (teamTwoQuarterOne == 0 && teamOneQuarterOne > 0) {
        teamOnePerfectQuarter++;
    }
} else if (teamOneQuarterOne < teamTwoQuarterOne) {
    teamOneStats += "L-";
    teamTwoStats += "W-";
    // 队2赢的场景下,完美局是队1得0、队2得分
    if (teamOneQuarterOne == 0 && teamTwoQuarterOne > 0) {
        teamTwoPerfectQuarter++;
    }
} else {
    teamOneStats += "T-";
    teamTwoStats += "T-";
}

System.out.println(teamOne + " Perfect Quarters: " + teamOnePerfectQuarter);
System.out.println(teamTwo  + " Perfect Quarters: " +  teamTwoPerfectQuarter);

内容的提问来源于stack exchange,提问作者G90

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 10:27:04