Java에서 임의의 문자 생성

Rupam Yadav 2023년10월12일
  1. Java에서random.nextInt()를 사용하여 임의 문자 생성
  2. random.nextInt()charAt()을 사용하여 문자열에서 임의 문자 생성
  3. Apache Commons의 RandomStringUtils를 사용하여 임의 문자 생성
Java에서 임의의 문자 생성

이 튜토리얼에서는 몇 가지 방법을 사용하여 무작위 캐릭터를 생성하는 방법을 소개합니다. 주제를 더 잘 이해하기 위해 예제와 함께 세 가지 방법을 소개합니다.

Java에서random.nextInt()를 사용하여 임의 문자 생성

Random은 임의의 값을 생성하기 위해 Java에서 가장 일반적으로 사용되는 클래스이지만 문자를 생성 할 수 없습니다. Random클래스를 사용하여 문자를 무작위 화하려면 random.nextInt()를 사용하여 임의의 정수를 생성 할 수 있습니다. 모든 문자는 숫자에 해당합니다.

nextInt()함수에서 문자를 경계로 사용할 수 있습니다. 다음 예제에서는Random 클래스의 객체가 생성되고(random.nextInt(26) + 'a')가 사용되는 것을 볼 수 있습니다. 여기서 문자 'a'는 숫자 97에 해당하며,이를 사용하여 소문자 알파벳에 해당하는 26 개의 임의의 정수를 생성 할 수 있습니다.

마지막으로 생성 된 정수를 char로 캐스팅해야합니다.

import java.util.Random;

public class RandomChar {
  public static void main(String[] args) {
    Random random = new Random();

    char randomizedCharacter = (char) (random.nextInt(26) + 'a');
    System.out.println("Generated Random Character: " + randomizedCharacter);
  }
}

출력:

Generated Random Character: p

random.nextInt()charAt()을 사용하여 문자열에서 임의 문자 생성

다음 예제에서는 다시 Random클래스와 해당 nextInt()메서드를 사용하지만 이미 정의 된 문자 집합에서 임의의 문자를 생성합니다.

아래에서setOfCharacters는 알파벳, 숫자 및 기호를 포함하여 여러 문자로 구성된 문자열임을 알 수 있습니다. 이 문자열에서 임의의 문자를 생성하려면random.nextInt()의 인수로setOfCharacters의 길이를 사용합니다. 임의의 정수가 생성되면charAt()을 사용하여 임의의 인덱스 또는 위치에서 문자를 가져 오는 데 사용합니다. setOfCharacters에서 임의의char를 반환합니다.

import java.util.Random;

public class RandomChar {
  public static void main(String[] args) {
    Random random = new Random();

    String setOfCharacters = "abcdefghxyz1234567-/@";

    int randomInt = random.nextInt(setOfCharacters.length());
    char randomChar = setOfCharacters.charAt(randomInt);

    System.out.println("Random character from string: " + randomChar);
  }
}

출력:

Random character from string: 4

Apache Commons의 RandomStringUtils를 사용하여 임의 문자 생성

마지막 예에서는 Apache Commons 라이브러리의 RandomStringUtils클래스를 사용합니다. RandomStringUtils 클래스에는 임의의 영숫자 문자열을 생성하는randomAlphanumeric()함수가 있습니다. randomAlphanumeric(count)는 우리가 원하는 무작위 문자열의 길이 인 단일 인수를받습니다.

아래 예에서는 단일 문자 만 원하므로randomAlphanumeric()메소드에 1 개만 전달했습니다. 그러나이 함수는 결과를 문자열로 반환합니다. 이것이 바로 char로 변환해야하는 이유입니다. 따라서 문자열에서 문자를 가져 오기 위해charAt()을 사용합니다.

import org.apache.commons.lang3.RandomStringUtils;

public class RandomChar {
  public static void main(String[] args) {
    String randomizedString = RandomStringUtils.randomAlphanumeric(1);
    char randomizedCharacter = randomizedString.charAt(0);

    System.out.println("Generated Random Character: " + randomizedCharacter);
  }
}

출력:

Generated Random Character: L
작가: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

관련 문장 - Java Char