在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
。