자바에서는 다양한 클래스를 이용하여, 다양한 방식으로 난수를 생성할 수 있다. 방식 별로 난수의 범위도 다르다. 오늘은 난수 생성 방법들에 대해 정리해보려 한다.
1. Math.random() 메소드
0 이상 1 미만의 double 데이터를 반환하는 명령. (0 <= x < 1)
// 0 이상 1 미만의 난수 얻기
double num = Math.random();
// 랜덤 주사위 값 얻기
int dice = (int) (Math.random() * 6) + 1;
2. Random 클래스
다양한 형태의 난수를 생성할 수 있는 클래스로 객체를 생성하여 사용한다. 난수를 생성하는 메소드들은 다음과 같다.
반환 타입 | 메소드 | 설명 |
boolean | nextBoolean() | boolean형 난수 반환 |
int | nextInt() | int형 난수 반환 |
int | nextInt(int n) | 0 이상, n 미만의 int형 난수 반환 |
long | nextLong() | long형 난수 반환 |
float | nextFloat() | float형 난수 반환 |
double | nextDouble | double형 난수 반환 |
범위를 인자로 받는 nextInt(int n) 외의 메소드들은 모두 해당 타입의 최소에서 최대까지를 난수 범위로 가진다.
Random random = new Random();
int dice = random.nextInt(7);
728x90
'개발 언어 및 알고리즘 기초 > JAVA 기초' 카테고리의 다른 글
[Java] 네트워크 (Network) (0) | 2024.04.30 |
---|---|
[Java] Thread Pool (스레드 풀) (0) | 2024.04.27 |
[Java] 스트림(Stream) 요소 처리 (0) | 2024.04.25 |
[Java] Wrapper Class (래퍼 클래스, 포장 클래스) (0) | 2024.04.18 |
[JAVA] StringBuilder로 문자열 조작하기 (0) | 2024.04.17 |