簡體   English   中英

在一系列值之間生成隨機雙精度 - Java

[英]Generate random doubles in between a range of values - Java

我寫了這段代碼,它在-1和1之間產生隨機雙打。唯一的問題是它只生成一個隨機雙精度然后打印出我想要生成的其他雙精度數。 例如,如果第一個雙精度數為0.51,它只會反復打印0.51而不是生成新的隨機雙精度數。

以下代碼有什么問題?

public static void main(String[] args) {
    double start = -1;
    double end = 1;
    double random = new Random().nextDouble();

    for(int i=1; i<10; i++){
        double result = start + (random * (end - start));

        System.out.println(result);
    }
}

提前致謝!

每次需要新的隨機數時,必須生成新的隨機(nextDouble())。 嘗試:

public static void main(String[] args) {
    double start = -1;
    double end = 1;
    Random random = new Random();

    for(int i=1; i<10; i++){
        double result = start + (random.nextDouble() * (end - start));

        System.out.println(result);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM