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

Do while循环在其中一个OR条件为false后仍持续运行问题排查

问题原因分析
  • 核心错误是循环继续条件的逻辑运算符使用错误
    你当前的循环判断条件是while(gewonnenWedstrijdenTeam1 < 4 || gewonnenWedstrijdenTeam2 < 4),这里使用的逻辑或||的运算规则为:只要左右两个判断条件任意一个为真,整个判断结果就为真,循环就会继续执行。
    你预期的逻辑是「只要任意一支队伍先赢满4场就终止循环」,对应的循环继续条件应该是两支队伍都还没赢满4场,需要把逻辑或||修改为逻辑与&&,修改后代码如下:
} while(gewonnenWedstrijdenTeam1 < 4 && gewonnenWedstrijdenTeam2 < 4);

可以通过实际运行场景验证差异:

当gewonnenWedstrijdenTeam1 = 4,gewonnenWedstrijdenTeam2 = 2时:
原||判断逻辑:4<4 || 2<4 = false || true = true → 循环继续,不符合预期
修改为&&后判断逻辑:4<4 && 2<4 = false && true = false → 循环终止,符合预期

  • 额外风险提示:你定义的存储比赛分数的数组puntenTeam1、puntenTeam2长度为6,最多只能存储6场比赛的分数,但七局四胜制的赛制最多会打7场,当双方打到3:3平后开启第7场比赛时,i的值会变为6,访问数组下标为6的位置会触发ArrayIndexOutOfBoundsException数组越界异常,建议把数组长度调整为7,或者使用ArrayList等动态集合存储比赛分数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:36:04