반응형
난수를 얻는 방법에는 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의 정석
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] Scanner클래스 (0) | 2022.12.13 |
---|---|
[JAVA] 정규식(Regular Expression) - java.util.regex 패키지 (0) | 2022.12.13 |
[JAVA] Objects 클래스 (0) | 2022.12.13 |
[JAVA] 예외 던지기(exception re-throwing) / 연결된 예외(chained exception) (0) | 2022.11.22 |
[JAVA] 사용자정의 예외 만들기 (0) | 2022.11.22 |