在UNI atm上做Java课程,我遇到了骰子问题。

我有以下内容:

 public class Die {
   public int eyes;
   private java.util.Random r;
   private int n;

   public Die (int n) {
     r = new Random();
     this.n = n;
   }

   public void roll() {
     eyes = r.nextInt(Die.n);
   }


编译时得到:无法从静态上下文引用非静态变量n。我如何解决这个问题,同时让它从用户给定的值中随机化?

最佳答案

n不是静态变量,因此您不能以静态方式引用它(Die.n)。

由于它是Die类中的实例变量,并且您正在Die类中引用它,因此可以只使用n代替Die.n

10-07 19:08
查看更多