类Random Java:对于类型Random,未定义方法“ roll()”。为什么?

时间:2019-05-10 08:19:00

标签: 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 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;
    }
}

1 个答案:

答案 0 :(得分:3)

您犯了一些基本错误,这是一个固定版本:

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;
    }
}

然后在您的main方法中:

Die die = new Die();
System.out.println(die.roll());

或者,您可以只在构造函数中使用roll()

public Die() {
    this.random = new Random();
    System.out.println(this.roll());
}