이 글에서는 자바(Java)에서 주어진 문자가 알파벳인지 아닌지를 판별하는 방법을 알아보겠습니다. 핵심 원리는 간단합니다. 해당 문자가 소문자 'a' ~ 'z' 또는 대문자 'A' ~ 'Z' 범위 안에 속하는지 비교 연산자로 검사하면 됩니다.
실행 예시
입력
문자를 입력하세요: H
출력
문자 H는 알파벳입니다.
알고리즘
STEP 1 - 프로그램 시작 STEP 2 - 문자형 변수 my_input 선언 STEP 3 - 사용자로부터 값 입력받기 또는 미리 값 정의하기 STEP 4 - if-else 조건문과 비교 연산자 '>=' , '<=' 를 사용하여 입력값이 'a'와 'z' 사이 또는 'A'와 'Z' 사이에 있는지 검사. 조건이 참이면 알파벳, 거짓이면 알파벳이 아님 STEP 5 - 결과 출력 STEP 6 - 프로그램 종료
예제 1: 사용자 입력으로 확인하기
다음 예제는 Scanner를 사용해 사용자로부터 문자를 직접 입력받아 알파벳 여부를 판별합니다.
import java.util.Scanner;
public class Alphabet {
public static void main(String[] args) {
char my_input;
System.out.println("필요한 패키지를 가져왔습니다");
Scanner my_scanner = new Scanner(System.in);
System.out.println("Scanner 객체가 생성되었습니다");
System.out.print("문자를 입력하세요 : ");
my_input = my_scanner.next().charAt(0);
if( (my_input >= 'a' && my_input <= 'z') || (my_input >= 'A' && my_input <= 'Z'))
System.out.println("문자 " +my_input + " 는 알파벳입니다");
else
System.out.println("문자 " +my_input + " 는 알파벳이 아닙니다");
}
}출력 결과
필요한 패키지를 가져왔습니다 Scanner 객체가 생성되었습니다 문자를 입력하세요 : H 문자 H 는 알파벳입니다
예제 2: 미리 정의된 값으로 확인하기
다음 예제는 값을 코드에 미리 정의해 두고, 그 값을 콘솔에 출력하며 알파벳 여부를 판별합니다.
public class Alphabet {
public static void main(String[] args) {
char my_input;
my_input = 'H';
System.out.println("정의된 문자 : " +my_input);
if( (my_input >= 'a' && my_input <= 'z') || (my_input >= 'A' && my_input <= 'Z'))
System.out.println("문자 " +my_input + " 는 알파벳입니다.");
else
System.out.println("문자 " +my_input + " 는 알파벳이 아닙니다.");
}
}출력 결과
정의된 문자 : H 문자 H 는 알파벳입니다.
참고: Character.isLetter() 메서드 활용
비교 연산자 대신 자바에서 기본 제공하는 Character.isLetter() 메서드를 사용하면 더욱 간결하게 처리할 수 있습니다. 이 메서드는 유니코드 기준의 모든 문자(한글 등)도 판별할 수 있다는 장점이 있습니다.
if(Character.isLetter(my_input))
System.out.println("문자 " + my_input + " 는 알파벳입니다");
else
System.out.println("문자 " + my_input + " 는 알파벳이 아닙니다");마무리
정리하면, 문자가 알파벳인지 확인하는 방법은 크게 두 가지입니다. 첫째, 비교 연산자를 사용해 'a'~'z', 'A'~'Z' 범위를 직접 검사하는 방법이고, 둘째, Character.isLetter() 같은 표준 라이브러리 메서드를 활용하는 방법입니다. 영어 알파벳만 판별하려면 첫 번째 방법이 적합하고, 다양한 언어의 문자까지 포괄하려면 두 번째 방법을 사용하는 것이 좋습니다.