Java에서 임의의 문자 생성
-
Java에서
random.nextInt()
를 사용하여 임의 문자 생성 -
random.nextInt()
및charAt()
을 사용하여 문자열에서 임의 문자 생성 -
Apache Commons의
RandomStringUtils
를 사용하여 임의 문자 생성
이 튜토리얼에서는 몇 가지 방법을 사용하여 무작위 캐릭터를 생성하는 방법을 소개합니다. 주제를 더 잘 이해하기 위해 예제와 함께 세 가지 방법을 소개합니다.
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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn