본문 바로가기

개발 언어 및 알고리즘 기초/JAVA 기초

[Java] 자바에서 난수 생성하기

 자바에서는 다양한 클래스를 이용하여, 다양한 방식으로 난수를 생성할 수 있다. 방식 별로 난수의 범위도 다르다. 오늘은 난수 생성 방법들에 대해 정리해보려 한다.

 

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