상세 컨텐츠

본문 제목

[JAVA] 자바 예제 - 랜덤 숫자 생성하기 (Math.random( )함수 이용)

공-부/Homework

by 사랑짱 2021. 6. 8. 23:29

본문

<문제>

min <= x < max  범위 내에서 랜덤 숫자를 반환하는 프로그램을 작성하시오.

 

문제 해결 포인트

 

Math 클래스에 있는 Math.random( ) 메소드를 활용하여 공식을 만들어보자.

(Math.random( ) 메소드를 실행하면  0.0이상 1.0 미만 범위의 실수값 하나가 무작위로 리턴된다.)

 

 

문제 해결 과정

 

Step1. Math.random( ) 메소드의 범위가 0.0이상 1.0 미만이므로 원하는 범위만큼 숫자를 곱해준다.

         (Ex) 주사위는 1 ~ 6의 범위로 6을 곱해준다. ( 범위 : 0.0 * 6 <= x < 1.0*6 )

 

Step2. 랜덤 숫자의 최소값(시작점)만큼 더해준다.

        (Ex) 주사위는 1부터 숫자가 시작하므로 1을 더해준다. ( 범위 : 0.0 * 6 +1 <= x < 1.0*6 +1 )

 

Step3.  Math.random( ) 메소드는 실수의 값을 리턴하므로 int타입으로

       Casting하여 소수점 단위를 절삭시킨 뒤 반환하여 대입한다.

       (Ex) int number = (int) (Math.random( ) * 6 +1) 

 

이와 같은 과정을 식으로 표현하면 다음과 같다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class RandomExample {
 
    
    public static void main(String[] args) {
        int min = 5;    // 최소값
        int max = 45;    // 최대값
        
        int randomNumber = (int) (Math.random() * (max - min) + min);
        
        System.out.println(randomNumber);
        
    }    //main
    
}    //class
cs

관련글 더보기