자바스크립트에서와 마찬가지로 자바 또한 숫자 클래스인 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; 을 사용합니다.
자바에서 실수 형태의 난수를 생성하고자 할 경우 메서드로 기존의 식을 이용하되 nextDouble()
메서드로 간단히 생성 가능합니다.
int randomDouble = rand.nextDouble(max - min + 1) + min;
반면 자바스크립트는 기존의 난수 생성 방식에서 Math.floor
를 제거한 식으로 실수 형태의 난수 생성이 가능합니다. (원래 자바스크립트의 수라는 개념 자체가 실수를 포함한 개념이기 때문.)
const randomDouble = (Math.random()×(max−min+1))+min;