Java 숫자 다루기
Numbers in Java
Java는 숫자를 처리하기 위한 다양한 타입을 제공합니다. 또한, 복잡한 수학적 연산을 위한 다양한 함수도 제공합니다. 이를 통해 개발자들은 다양한 요구 사항에 효과적으로 대응할 수 있습니다.
Generate Random Numbers in Java
4자리 또는 6자리 인증 코드 발급과 같은 경우 주로 랜덤으로 생성된 숫자를 활용합니다. Java의 Random
과 Math
에서 제공하는 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