面对对象 - java这段代码为什么不随机的
PHP中文网
PHP中文网 2017-04-17 17:52:36
0
3
419

在看Thinking in Java,有一段实在没看懂

package com.company.allAreTheObjective.Symbol;
import java.util.*;

/**
 * Created by Francis on 12/05/2016.
 */
public class VowelsAndConsonants {
    public static void main(String args[]){
        Random rand = new Random(47);
        for (int i = 0; i < 100; i++){
            int c = rand.nextInt(26) + 'a';
            System.out.print((char)c+","+ c +":");
            switch(c){
                case 'u' : System.out.println("vowel");break;
                case 'w' : System.out.println("Sometimes a vowel");break;
                default  : System.out.println("constant");
            }
        }
    }
}

这一段为什么输出恒为
y,121:constant
n,110:constant
z,122:constant
b,98:constant
r,114:constant
n,110:constant
y,121:constant

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(3)
阿神


プログラムは疑似乱数を生成します。乱数シードは 47 に固定されています。もちろん、異なる値にしたい場合は、毎回同じになります。 、シードをタイムスタンプなどに変更できます

いいねを押す +0
迷茫

new Random(47) に変更するだけです。 new Random()

コンピュータが生成する乱数はすべて疑似乱数であり、与えられた初期化シードが同じである限り、生成される乱数列は同じになります。

いいねを押す +0
Ty80

同じシード番号と同じ数の乱数を生成するランダム オブジェクトはまったく同じです。
これを Random rand = new Random() に変更するだけです。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート