Java – Random Long, Float, Integer 및 Double

이 빠른 자습서는 일반 Java 및 Apache Commons Math 라이브러리를 사용하여 long first를 생성하는 방법을 보여줍니다.

이 기사는 Baeldung에 대한 "Java – Back to Basic"시리즈의 일부입니다.

1. 무제한 롱 생성

Long 생성부터 시작하겠습니다.

@Test public void givenUsingPlainJava_whenGeneratingRandomLongUnbounded_thenCorrect() { long generatedLong = new Random().nextLong(); }

2. 범위 내에서 Long 생성

2.1. 일반 자바를 사용하는 임의 Long

다음 – 임의의 제한된 Long, 즉 주어진 범위 또는 간격 내의 Long 값을 만드는 방법을 살펴 보겠습니다.

@Test public void givenUsingPlainJava_whenGeneratingRandomLongBounded_thenCorrect() { long leftLimit = 1L; long rightLimit = 10L; long generatedLong = leftLimit + (long) (Math.random() * (rightLimit - leftLimit)); }

2.2. Apache Commons Math를 사용한 Random Long

더 깨끗한 API와 Commons Math를 사용하여 임의 Long을 생성하는 방법을 살펴 보겠습니다.

@Test public void givenUsingApacheCommons_whenGeneratingRandomLongBounded_thenCorrect() { long leftLimit = 10L; long rightLimit = 100L; long generatedLong = new RandomDataGenerator().nextLong(leftLimit, rightLimit); }

3. 무제한 정수 생성

경계가없는 임의의 정수를 생성하는 방법으로 이동해 보겠습니다.

@Test public void givenUsingPlainJava_whenGeneratingRandomIntegerUnbounded_thenCorrect() { int generatedInteger = new Random().nextInt(); }

보시다시피 long 생성에 매우 가깝습니다.

4. 범위 내에서 정수 생성

4.1. 일반 Java를 사용하는 임의의 정수

다음 – 주어진 범위 내의 임의의 정수 :

@Test public void givenUsingPlainJava_whenGeneratingRandomIntegerBounded_thenCorrect() { int leftLimit = 1; int rightLimit = 10; int generatedInteger = leftLimit + (int) (new Random().nextFloat() * (rightLimit - leftLimit)); }

4.2. Commons Math를 사용한 임의의 정수

Common Math와 동일합니다.

@Test public void givenUsingApache_whenGeneratingRandomIntegerBounded_thenCorrect() { int leftLimit = 1; int rightLimit = 10; int generatedInteger = new RandomDataGenerator().nextInt(leftLimit, rightLimit); }

5. 무제한 부동 생성

이제 임의의 부동 소수점 생성에 대해 살펴 보겠습니다. 첫 번째는 제한되지 않습니다.

@Test public void givenUsingPlainJava_whenGeneratingRandomFloatUnbouned_thenCorrect() { float generatedFloat = new Random().nextFloat(); }

6. 범위 내에서 부동 소수점 생성

6.1. 일반 자바를 사용한 임의 부동 소수점

경계가있는 임의의 부동 소수점 :

@Test public void givenUsingPlainJava_whenGeneratingRandomFloatBouned_thenCorrect() { float leftLimit = 1F; float rightLimit = 10F; float generatedFloat = leftLimit + new Random().nextFloat() * (rightLimit - leftLimit); }

6.2. Commons Math를 사용한 랜덤 플로트

이제 – Commons Math를 사용하는 제한된 랜덤 플로트 :

@Test public void givenUsingApache_whenGeneratingRandomFloatBounded_thenCorrect() { float leftLimit = 1F; float rightLimit = 10F; float randomFloat = new RandomDataGenerator().getRandomGenerator().nextFloat(); float generatedFloat = leftLimit + randomFloat * (rightLimit - leftLimit); }

7. 무제한 Double 생성

7.1. 일반 Java를 사용하는 임의 무제한 이중

마지막으로-먼저 Java Math API를 사용하여 임의의 double 값을 생성합니다.

@Test public void givenUsingPlainJava_whenGeneratingRandomDoubleUnbounded_thenCorrect() { double generatedDouble = Math.random(); }

7.2. 커먼즈 수학을 사용한 임의 무제한 이중

Apache Commons Math 라이브러리를 사용한 임의 double 값 :

@Test public void givenUsingApache_whenGeneratingRandomDoubleUnbounded_thenCorrect() { double generatedDouble = new RandomDataGenerator().getRandomGenerator().nextDouble(); }

8. 범위 내에서 Double 생성

8.1. 일반 자바를 사용하는 랜덤 바운드 더블

이 예에서 Java를 사용하여 간격 내에서 생성 된 임의의 double을 살펴 보겠습니다.

@Test public void givenUsingPlainJava_whenGeneratingRandomDoubleBounded_thenCorrect() { double leftLimit = 1D; double rightLimit = 10D; double generatedDouble = leftLimit + new Random().nextDouble() * (rightLimit - leftLimit); }

8.2. 커먼즈 수학을 사용한 랜덤 바운드 더블

마지막으로 Apache Commons Math 라이브러리를 사용하여 간격 내 임의 double입니다.

@Test public void givenUsingApache_whenGeneratingRandomDoubleBounded_thenCorrect() { double leftLimit = 1D; double rightLimit = 100D; double generatedDouble = new RandomDataGenerator().nextUniform(leftLimit, rightLimit); }

그리고 거기에 있습니다. Java에서 가장 일반적인 숫자 프리미티브에 대해 제한되지 않은 값과 제한되지 않은 값을 모두 생성하는 방법에 대한 빠른 예입니다.

9. 결론

이 튜토리얼에서는 다른 기술과 라이브러리를 사용하여 바인딩되거나 바인딩되지 않은 난수를 생성하는 방법을 설명했습니다.

항상 그렇듯이 이러한 모든 예제와 스 니펫의 구현은 GitHub 프로젝트에서 찾을 수 있습니다. 이것은 Maven 기반 프로젝트이므로 가져 오기 및 실행이 쉬워야합니다.