본문 바로가기

개발/Java

[Java] 자바 - random() (무작위 수)

< random() >

 

- Math클래스의 random() 활용

- random() 결과값 : 0.0 ~ 0.999999999..

 

[ 표현법 ]

 

Math m = new Math(); => (X) 생성, import 하지 않고

Math.random(); => .(접근연산자)로 바로 호출 가능

 

[ 정수 랜덤값을 구하는 단계 ]

 

ex) 1부터 10까지 중 랜덤값 구하기

1. random() 호출 => 결과값 : 0.0 ~ 0.99999999...

2-1. 결과값에 10을 곱하기 => 결과값 : 0.0 ~ 9.999999999...

2-2. int형으로 강제형변환 (소수점 절삭) => 결과값 : 0 ~ 9

2-3. 범위를 맞추기 위해 + 1 => 결과값 : 1 ~ 10

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

[ 표현법 ]   (int)(Math.random() * 랜덤값 범위) + 시작 수;

 

public void method4() {
    // 1부터 랜덤한 수(1~10)까지 모두 더하는 총합계
    
    // ex) 1부터 시작해서 랜덤한 수 5
    // 1 + 2 + 3 + 4 + 5
    // 랜덤한 수까지의 합계를 출력 : 15

    int random2 = (int)(Math.random() * 10) + 1;
    System.out.println("무작위수2 : " + random2);

    int i = 1;
    int sum = 0;

    while(i <= random2/*1부터 10까지 중 무작위까지*/) {
        // sum = sum + i;
        sum += i;
        i++;
    }

    System.out.println("1 ~ random2까지 더한 결과 : " + sum);
}