JAVA

[JAVA] Math.random() 난수 생성

EunaSon 2022. 11. 19. 19:53

Math.random() 메서드는 0 이상 1 미만의 double형 숫자를 반환함. (0.0000xxx ~ 0.9999xxx)

 

 

원하는 정수 범위의 난수 만들기

 

랜덤 소수(0~0.999...) 생성

Math.random() *숫자 -> 입력한 숫자보다 작은 무수히 많은 소수가 생성됨

예)  Math.random() * 11 (0 이상 11 미만 소수)

--> 0.11 * 11 => 1.21

0.385 * 11 => 4.235

0.9382 * 11 => 10.3202

 

랜덤 정수(0~숫자-1) 생성

(int) Math.random() * 숫자 -> 소수 부분은 자르고 정수 부분만 반환

예)  (int) Math.random() * 11 (0~10 사이 정수 반환)

--> 0.11 * 11 => 1.21 -> 1

0.385 * 11 => 4.235 -> 4

0.9382 * 11 => 10.3202 ->10

 

원하는 범위의 랜덤 정수(최솟값~최댓값) 생성

(int) Math.random() * (최댓값-최솟값+1) + 최솟값

예) 최솟값 1~ 최댓값 10 사이의 값

(int) Math.random() * (10-1+1) +1

최솟값 10 ~ 최댓값 30 사이의 값

(int) Math.random() * (30-10+1) +10