catsridingCATSRIDING|OCEANWAVES
Dev

Java 숫자 다루기

jynn@catsriding.com
Oct 28, 2023
Published byJynn
999
Java 숫자 다루기

Numbers in Java

Java는 숫자를 처리하기 위한 다양한 타입을 제공합니다. 또한, 복잡한 수학적 연산을 위한 다양한 함수도 제공합니다. 이를 통해 개발자들은 다양한 요구 사항에 효과적으로 대응할 수 있습니다.

Generate Random Numbers in Java

4자리 또는 6자리 인증 코드 발급과 같은 경우 주로 랜덤으로 생성된 숫자를 활용합니다. JavaRandomMath에서 제공하는 API를 활용하여 무작위 랜덤 숫자를 원하는 자릿수 만큼 생성하는 방법에 대해 살펴봅니다.

Random.class

Random은 임의의 수를 생성하기 위한 다양한 API를 제공하고 있습니다.

  • nextInt(): int 범위의 랜덤 숫자 생성
  • nextDouble(): 0과 1사이의 double 타입 랜덤 숫자 생성
  • nextFloat(): 0과 1사이의 float 타입 랜덤 숫자 생성
  • nextLong(): long 범위의 랜덤 숫자 생성
  • nextBoolean(): boolean 값 랜덤 생성
// ⚡ input ❯
Random random = new Random();
System.out.println("random = " + random.nextInt());
System.out.println("random = " + random.nextInt());
System.out.println("random = " + random.nextInt());

// 🖨 output ❯
random = 494606930
random = -1198711572
random = 326907881
random = -1733724620

랜덤으로 생성할 수의 최대 범위를 제한해야 한다면 파라미터로 최대 값을 전달합니다.

// ⚡ input ❯
Random random = new Random();
System.out.println("random = " + random.nextInt(9));
System.out.println("random = " + random.nextInt(99));
System.out.println("random = " + random.nextInt(999));
System.out.println("random = " + random.nextInt(9999));
System.out.println("random = " + random.nextInt(99999));

// 🖨 output ❯ 
random = 1
random = 96
random = 252
random = 9225
random = 471

Math

Math 클래스의 random() 함수는 0.0 ~ 1.0 범위의 double 값을 생성합니다. 이 함수도 사실 Random 객체를 통해 구현되어 있습니다.

// ⚡ input ❯ 
System.out.println("random = " + Math.random());
System.out.println("random = " + Math.random());
System.out.println("random = " + Math.random());
System.out.println("random = " + Math.random());

// 🖨 output ❯ 
random = 0.8842084180482598
random = 0.2715507834601888
random = 0.2992138455479171
random = 0.9536913827942957

Math.random()을 통해 생생되는 랜덤 수의 범위는 다음과 같이 제한할 수 있습니다.

// ⚡ input ❯ 
int min = 1;
int max = 10
double random = (Math.random() * (max - min)) + min;
System.out.println("random = " + random);
System.out.println("random = " + (int) random);

// 🖨 output ❯ 
random = 6.17442174681015
random = 6
  • Java