[JAVA] Random 클래스

Re_Go·2024년 6월 5일
0

JAVA

목록 보기
22/37
post-thumbnail
post-custom-banner

1. 자바스크립트의 Math 클래스와 다른 점

자바스크립트에서와 마찬가지로 자바 또한 숫자 클래스인 Math 클래스를 가지고 있는데요.

대부분의 사용법은 거의 똑같으나, Random 메서드를 사용하는 방식에서 그 차이점을 가집니다.

Java에서의 Random 메서드 사용법

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random rand = new Random();

        // 0 이상 100 미만의 정수 난수 생성
        int randomInt = rand.nextInt(100);
        System.out.println("Random Int: " + randomInt);

        // 0.0 이상 1.0 미만의 실수 난수 생성
        double randomDouble = rand.nextDouble();
        System.out.println("Random Double: " + randomDouble);

        // 불리언 값 난수 생성
        boolean randomBoolean = rand.nextBoolean();
        System.out.println("Random Boolean: " + randomBoolean);
    }
}
// 자바에서 범위를 지정한 난수 생성은 int randomInt = rand.nextInt(max - min + 1) + min; 을 사용합니다.

Javascript에서의 Random 메서드 사용법

// 0 이상 1 미만의 난수 생성
let randomDouble = Math.random();
console.log("Random Double: " + randomDouble);

// 0 이상 100 미만의 정수 난수 생성
let randomInt = Math.floor(Math.random() * 100);
console.log("Random Int: " + randomInt);

// 불리언 값 난수 생성 (0.5 보다 작은 값을 
let randomBoolean = Math.random() < 0.5;
console.log("Random Boolean: " + randomBoolean);

// 자바스크립트에서 범위 지정은 Math.floor(Math.random()×(max−min+1))+min; 을 사용합니다.

2. 소수 난수 생성 방식에서의 차이

자바에서 실수 형태의 난수를 생성하고자 할 경우 메서드로 기존의 식을 이용하되 nextDouble() 메서드로 간단히 생성 가능합니다.

int randomDouble = rand.nextDouble(max - min + 1) + min;

반면 자바스크립트는 기존의 난수 생성 방식에서 Math.floor를 제거한 식으로 실수 형태의 난수 생성이 가능합니다. (원래 자바스크립트의 수라는 개념 자체가 실수를 포함한 개념이기 때문.)

const randomDouble = (Math.random()×(max−min+1))+min;
profile
인생은 본인의 삶을 곱씹어보는 R과 타인의 삶을 배워 나아가는 L의 연속이다.
post-custom-banner

0개의 댓글