프로그래밍/JAVA

[JAVA] Random 클래스

리신 2022. 12. 13. 21:12
반응형

난수를 얻는 방법에는 Math.random()도 있고, Random클래스를 사용하면 난수를 얻을 수 있다.

사실 Math.random()내부적으로 Random클래스의 인스턴스를 생성해서 사용하는 것이라

둘 중에서 편한 것을 사용하면 된다.

 

아래 예시 코드를 보면 동일 내용이다.

double ranNum = Math.random();
double ranNum = new Random().nextDouble();

Random클래스의 생성자와 메서드

생성자 Random()은 종자값을 System.currentTimeMillis()로 함.

→ 실행할 때마다 얻는 난수가 달라짐

public Random() {
	this(System.currentTimeMillis());
}

Random 클래스의 메서드 목록

메서드 설명
Random() 현재시간(System.currentTimeMillis())을 종자값(seed)으로 이용하는 Random인스턴스를 생성한다.
Random(long seed) 매개변수seed를 종자값으로 하는 Random인스턴스를 생성한다.
boolean nextBoolean() boolean타입의 난수를 반환한다.
void nextBytes(byte[] bytes) bytes배열에 byte타입의 난수를 채워서 반환함
double nextDouble() double타입의 난수를 반환함.
float nextFloat() float타입의 난수를 반환함.
int nextInt() int타입의 난수를 반환함
int nextInt(int n ) 0~n의 범위에 있는 int값을 반환함
long nextLong() long타입의 난수를 반환함
double nextGaussian() 평균은 0.0dlrh, vywnsvuscksms 1.0인 가우시안분포에 따른 double형의 난수를 반환함
void setSeed(long seed) 종자값을 주어진 값(seed)으로 변경한다.

 

 

*참고서적

Java의 정석

 

반응형