gpt4 book ai didi

java - do while 循环出现问题

转载 作者:行者123 更新时间:2023-12-01 17:27:09 25 4
gpt4 key购买 nike

我正在尝试返回一个必须位于两个数字之间的随机数字,我这样做的方式是设置一个循环来检查它是否在这些数字之间,如果不是,重新滚动。

我遇到的问题是它永远不会跳出我的循环,而且我无法解决它,是因为变量没有从循环中传递出来进行重新测试吗?

如果是这样,我需要做某种返回或中断吗?

代码:

int randDamRange = 0
byte DamRange = attack.getM_damageRange(); //In this case 75

//Create a random number from within the attack damage range
do
{
Random randbetween = new Random();

randDamRange = randbetween.nextInt(DamRange);
randDamRange = 75; //Test Should breakout of loop
}
while ((randDamRange < DamMin) || (randDamRange < DamMax));

最佳答案

看看你的循环条件:

while ((randDamRange < 50) || (randDamRange < 115));

现在考虑一下 randDamRange 是 75。为什么您期望它继续下去? 75 小于 115。

请注意,由于 50 小于 115,因此您的循环条件完全等同于:

while (randDamRange < 115);

怀疑你的意思是:

while (randDamRange < 50 || randDamRange > 115)

但如果是这样的话,获取 [0, 65] 范围内的随机数并添加 50 会简单得多...无需循环根本不。 (尚不清楚 getM_damageRange() 是如何发挥作用的。)

关于java - do while 循环出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14015117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com