类Random Java:Random类型的方法“roll()”未定义。为什么?
我必须使用方法签名:public int roll 我只是不明白为什么我不能从我的新随机对象调用那个方法。请帮忙类Random Java:Random类型的方法“roll()”未定义。为什么?,java,random,Java,Random,我必须使用方法签名:public int roll 我只是不明白为什么我不能从我的新随机对象调用那个方法。请帮忙 import java.util.Random; public class Die { private int faceValue; private Random random; public Die() { Random r = new Random(); r.roll(); // "The method ro
import java.util.Random;
public class Die {
private int faceValue;
private Random random;
public Die() {
Random r = new Random();
r.roll(); // "The method roll() is undefined for the type Random
}
public int getFaceValue() {
return faceValue;
}
public int roll() {
for(int i = 1; i <= 11; i++)
{
faceValue = random.nextInt(6) + 1;
}
return faceValue;
}
}
你有一些基本的错误,这里有一个固定的版本:
import java.util.Random;
public class Die {
private int faceValue;
private Random random;
public Die() {
this.random = new Random();
}
public int getFaceValue() {
return faceValue;
}
public int roll() {
for(int i = 1; i <= 11; i++){
faceValue = random.nextInt(6) + 1;
}
return faceValue;
}
}
或者,您可以直接在构造函数中滚动:
public Die() {
this.random = new Random();
System.out.println(this.roll());
}
你的掷骰方法是针对你的类型骰子,而不是随机骰子。嗯,根本没有mtehod掷骰子,因为它是你的类骰子的一种方法。你试过只写roll或这个.roll吗?@deHaar没有Die的实例,那不会编译你的方法Die是你的构造函数,而不是你的main。在内部,应该只实例化随机对象,并将其影响到随机属性。然后,在代码中当前缺少的main方法中,您应该实例化一个DIe对象,然后在此对象上调用roll方法。顺便说一句,您的意思是将类命名为Dice吗?出于某种原因,我必须在构造函数中调用roll方法。谢谢你的帮助though@VitoNoble编辑我的答案以显示构造函数中的滚动。如果您觉得有帮助,请随时:
public Die() {
this.random = new Random();
System.out.println(this.roll());
}