关于java中的随机数的问题

每次循环的随机数都是一样,我怀疑红箭头所指的地方可能出现错误,谁知道怎么解决?图片图片图片

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 只赋值一次,应该放到循环里面 每次重新赋值

图片说明
虽然他们俩的伤害你给的是随机数,但是你只随机了一次。
循环的时候再次赋值就好了