java.util.Random 깊이 이해

3271 단어 Random
java.util.Random
next 방법의 원리
비교적 좋 은 참고 문서:
http://isky001.iteye.com/blog/1339979
 
package random.utilrandom;



import java.util.Random;



public class TestRandom {

    public static void main(String[] args) {

        Random ran1 = new Random(10);

        System.out.println("     10 Random    [0,10)       : ");

        for (int i = 0; i < 10; i++) {

            System.out.print(ran1.nextInt(10) + " ");

        }

        System.out.println();

        Random ran2 = new Random(10);

        System.out.println("        10 Random    [0,10)       : ");

        for (int i = 0; i < 10; i++) {

            System.out.print(ran2.nextInt(10) + " ");

        }

        Random ran3 = new Random(10);

        System.out.println("        10 Random    [0,10)       : ");

        for (int i = 0; i < 10; i++) {

            System.out.println(ran3.nextInt());

        }

        System.out.println();

        Random ran4 = new Random(10);

        System.out.println("        10 Random    [0,10)       : ");

        for (int i = 0; i < 10; i++) {

            System.out.println(ran4.nextInt());

        }

    }

}

 
Math.random()은 본질 적 으로 RandomNumberGenerator Holder.randomNumberGenerator.nextDouble()을 호출 합 니 다.java.util.Random.nextDouble()
선형 동 여 공식 을 설명 하 는 글 도 있어 서 좋 습 니 다.
http://www.cnblogs.com/xkfz007/archive/2012/03/27/2420154.html
nextseed=(oldseed*multiplier+addend)&mask; 
http://en.wikipedia.org/wiki/Linear_congruential_generator

좋은 웹페이지 즐겨찾기