用Java生成随机数常量

时间:2019-07-18 19:15:08

标签: java

我正在编写代码以生成数学常数。常量具有firstValue。他们有生成值的方法。必须使用粒度参数在波动空间中随机选择生成的值。这意味着将随机数乘以粒度参数,以使生成的随机值停留在波动空间中。 该代码有效,它在空间中生成随机值。但是,当某些常量必须为0.9时,它们的形式为0.90000004。 类aleatoire(min,max)生成一个介于min和max之间的数字,该数字包含在其方法generate中。我测试了类Aleatoire,它的效果很好,仅提供了int。

 public class Constante {
    private float firstValue;
    private float fluctuation;
    private float granularite;
    private float value;
    private int stepNumber;

    public Constante(float firstValue, float fluctuation, float granularite) {
        this.firstValue = firstValue;
        this.fluctuation = fluctuation;
        this.granularite=granularite;
        this.value=firstValue;
        this.stepNumber= (int)(((fluctuation/granularite)));

    }


    public void generate(){
        Aleatoire random=new Aleatoire(0,stepNumber);
        if (new Aleatoire(1,2).generate()%2!=0) {
            value = firstValue + (random.generate() * granularite);
        }
        else{
            value = firstValue - (random.generate() * granularite);

        }



    }

    public float getValue(){
        return value;
    }


}

0 个答案:

没有答案