본문 바로가기

Java

Java- Random 클래스, 난수 생성

Random 클래스

  간단하니 대충 설명한다. Random 인스턴스는 난수를 생성시 사용하며 생성자의 인자로는 시드값이 들어간다.

시드를 안 넣는다면 1970년 1월 1일 부터 지금까지 지난 밀리초 단위의 시간이 시드값으로 들어가서 난수를 생성한다.

import java.util.Random;

/*
Random(){
    this(System.currentTimeMillis());  //Random(long seed)의 디폴트 생성자
}
*/

public class RandomNumberGenerator {
    public static void main(String[] args) {
        Random rand = new Random();  
        // 인자로 seed 전달.
        // 인자가 없을 시 seed로 System.currentTimeMillis() 전달. 
        // 1970/01/01부터 지금까지 지나온 시간을 밀리초 단위로 반환.

        for(int i=0;i<5;i++)
            System.out.printf("nextInt:%d, nextBoolean: %s, nextDouble: %g\n",
                    rand.nextInt(1000), // 0부터 1000까지의 random number
                    rand.nextBoolean(),
                    rand.nextDouble());   // 0부터 1까지 random double
    }
}

  위 소스 코드에는 시드를 안 넣어줘서 시드가 계속바뀌기 때문에 (시간은 계속 흐르니까) 실행시마다 결과가 바뀐다.

'Java' 카테고리의 다른 글

Java- 제네릭(1)  (0) 2023.01.07
Java- Arrays 클래스  (0) 2023.01.06
Java- BigInteger, BigDecimal 클래스  (0) 2023.01.03
Java- 래퍼 클래스  (0) 2023.01.03
Java- Object 클래스  (0) 2023.01.02