每次循环的随机数都是一样,我怀疑红箭头所指的地方可能出现错误,谁知道怎么解决?
main方法运行时b_injury和k_injury都已经初始化好了,此时b_injury == 18 ,k_injury == 5,在while循环中没有为它们两个再次赋值,所以它们的值一直没变,你要把对它们赋值额语句放在while循环里面,这样每循环一次都会上一个随机的b_injuru和k_injury了。
一张图片重复了
题目中b_injury , k_injury两个变量只在类定义时初始化一次,之后没有任何地方改变其值,
所以main函数中使用的b_injury , k_injury都是同样的值。
修改后的逻辑如下:
public class GenerateRandom {
static int HP = 100;
public static void main(String[] args) {
int injury;
while(HP > 0){
injury = (int)(Math.random()*20 +1) ;
HP = HP - injury;
}
}
}
您可参照这个修改一下题目中的代码。
用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!
b_injury 和k _injury 只赋值一次,应该放到循环里面 每次重新赋值
虽然他们俩的伤害你给的是随机数,但是你只随机了一次。
循环的时候再次赋值就好了