본문 바로가기
Web 개발/Java

Java 랜덤 난수 구하는 방법 정리 (Math.random)

by Queen2 2022. 12. 1.
728x90
반응형

 java.lang.Math.random() 

이는 double 타입의 0.0 에서 1.0 사이의 랜덤 값을 반환하는 메서드입니다.

이를 활용해서 어디부터 어디까지의 난수를 반환할 수 있는데요 

 

최소 min 에서 최대 max 까지의 값 (min 포함, max포함시)

(정수형 숫자를 원한다면 앞에 (int) 를 붙여서 명시적인 형변환을 시킵니다)

(int) ((Math.random() * (max - min+1)) + min);

만약 여기서 1을 안 붙인다면 [min, max) 최대값이 포함되지 않는 형태가 되고,

min을 포함 하고 싶지 않다면 min +1을 통해서 최소값이 min +1이 되도록 합니다.

 

이게 작동되는 이유는 앞서 Math.random() 자체가 0.0에서 0.1 사이의 값을 반환한다고 했기 때문에

가장 최소값인 0.0이 되면 남는 값이 min이겠죠? = > 최소값이 플러스 기호 이후의 min

만약 최대값인 1.0이 되면 남는 값이 max 죠? => 이 때문에 최대값이 max가 됩니다

 

 

참고자료:

https://www.javatpoint.com/java-math-random-method

728x90
반응형

댓글