Java의 범위에서 난수 생성

1. 개요

이 자습서에서는 범위 내에서 난수를 생성하는 다양한 방법을 살펴 봅니다.

2. 범위에서 난수 생성

2.1. Math.random

인 Math.random는 임의주는 이중 보다 크거나 0.0보다 1.0 동일한 값.

Math.random 메서드를 사용하여 주어진 범위에서 난수를 생성 해 보겠습니다 .

public int getRandomNumber(int min, int max) { return (int) ((Math.random() * (max - min)) + min); }

왜 작동합니까? 음, Math.random 이 0.0을 반환 할 때 어떤 일이 발생하는지 살펴 보겠습니다. 이는 가능한 가장 낮은 출력입니다.

0.0 * (max - min) + min => min

따라서 얻을 수있는 가장 낮은 숫자는 min입니다.

Math.random 이 1.0을 반환 하면 가능한 가장 높은 출력이며 다음을 얻습니다.

1.0 * (max - min) + min => max - min + min => max

그래서 우리가 얻을 수있는 가장 높은 숫자는 max입니다.

다음 섹션에서 Random # nextInt 를 사용하여 동일한 패턴을 반복 해 보겠습니다.

2.2. java.util.Random.nextInt

java.util.Random 의 인스턴스 도 동일한 작업을 수행하는 데 사용할 수 있습니다.

난수를 얻기 위해 java.util.Random.nextInt 메소드를 사용합시다 .

public int getRandomNumberUsingNextInt(int min, int max) { Random random = new Random(); return random.nextInt(max - min) + min; }

파라미터 (원점)는 반면, 포괄적 인 맥스 , 바인딩, 배타적

2.3. java.util.Random.ints

java.util.Random.ints의 방법은 반환 IntStream 임의의 정수를.

그래서 우리는 java.util.Random.ints 메소드를 활용하고 난수를 반환 할 수 있습니다 :

public int getRandomNumberUsingInts(int min, int max) { Random random = new Random(); return random.ints(min, max) .findFirst() .getAsInt(); }

여기에서도 지정된 원점 최소값 이 포함되고 최대 값 은 제외됩니다.

3. 결론

이 기사에서는 범위 내에서 난수를 생성하는 다른 방법을 살펴 보았습니다.

코드 조각은 언제나처럼 GitHub에서 찾을 수 있습니다.