programming/JAVA

[JAVA] 자바 랜덤 숫자(정수) 가져오기(Math class)

LeeBorn 2019. 8. 3. 19:56
반응형

자바에서 랜덤 숫자를 생성하기 위해서 Math 클래스의 random을 이용한다.

Math.random()을 사용하면 된다.

 

사용법은 아래와 같이 사용할 수 있다.

for(int i = 0 ; i < 6; i++) {
	int random = (int) (Math.random()*45) + 1;
        
	System.out.println(random);
}

위 코드는 1~45까지의 숫자를 랜덤으로 6번 출력하는 코드다.

 

왜 저런 식으로 사용하냐면, Math.random()의 설명을 보면

java.lang.Math.random()

이런 식의 문서를 볼 수 있다.

 

여기서 중요한 건 반환형인데, 아래와 같다.

Math.random()의 반환형

0.0 이상 ~ 1.0 미만의 double형 난수를 반환한다.

 

그래서 다시 위의 코드를 순서대로 본다면

 

1. Math.random()으로 0.0 이상 1.0 미만의 난수를 반환받고,

2. 최대값(위의 코드에선 45)으로 곱한 다음,

3. 정수형으로 형 변환을 한다. (int) (Math.random*45)

4. 형 변환된 정수에 0이 포함되므로 +1로 최솟값을 1로 맞춰준다.

 

 

반응형