이 글에서는 자바(Java)를 사용해 입력된 알파벳이 모음(Vowel)인지 자음(Consonant)인지 확인하는 방법을 알아봅니다. 영어 알파벳 중 'a', 'e', 'i', 'o', 'u'에 해당하는 글자를 모음이라고 부르며, 이 외의 모든 알파벳은 자음으로 분류됩니다.
아래는 실제 동작 결과를 보여주는 예시입니다.
입력
문자를 입력하세요 : i
출력
입력한 문자 : i 은(는) 모음입니다
알고리즘
Step 1 - 시작 Step 2 - char 타입의 변수 my_input을 선언한다. Step 3 - 사용자로부터 필요한 값을 입력받거나 값을 직접 정의한다. Step 4 - if 조건문을 사용하여 입력값이 'a', 'e', 'i', 'o', 'u' 중 하나와 일치하는지 확인한다. 일치하면 모음이고, 그렇지 않으면 자음이다. Step 5 - 결과를 화면에 출력한다. Step 6 - 종료한다.
예제 1: Scanner를 이용해 사용자 입력 받기
이 예제에서는 java.util.Scanner 클래스를 사용해 사용자가 직접 문자를 입력하면, 해당 문자가 모음인지 자음인지 판별하여 결과를 출력합니다. if-else 조건문으로 입력값이 각 모음과 일치하는지 비교하는 것이 핵심 로직입니다.
import java.util.Scanner;
public class VowelAndConsonant {
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 == 'e' || my_input == 'i' || my_input == 'o' || my_input == 'u')
System.out.println("입력한 문자 : " + my_input + " 은(는) 모음입니다");
else
System.out.println("입력한 문자 : " + my_input + " 은(는) 자음입니다");
}
}
실행 결과
필요한 패키지를 가져왔습니다 Scanner 객체가 생성되었습니다 문자를 입력하세요 : i 입력한 문자 : i 은(는) 모음입니다
예제 2: 값이 미리 정의된 경우
이번에는 문자를 코드 안에서 미리 정의해 두고, 그 값을 콘솔에 출력하면서 모음 여부를 확인합니다. 별도의 사용자 입력 없이 로직을 빠르게 검증하고 싶을 때 유용한 방식입니다.
public class VowelAndConsonant {
public static void main(String[] args) {
char my_input = 'i';
System.out.println("정의된 문자 : " + my_input);
if(my_input == 'a' || my_input == 'e' || my_input == 'i' || my_input == 'o' || my_input == 'u')
System.out.println("입력한 문자 : " + my_input + " 은(는) 모음입니다");
else
System.out.println("입력한 문자 : " + my_input + " 은(는) 자음입니다");
}
}
실행 결과
정의된 문자 : i 입력한 문자 : i 은(는) 모음입니다
응용: 대소문자까지 완벽하게 처리하기
위 코드는 소문자만 정확하게 판별할 수 있습니다. 사용자가 'A'나 'E'처럼 대문자를 입력할 가능성도 고려한다면, Character.toLowerCase() 메서드로 입력값을 먼저 소문자로 변환한 뒤 비교하는 것이 좋습니다.
char lower = Character.toLowerCase(my_input);
if(lower == 'a' || lower == 'e' || lower == 'i' || lower == 'o' || lower == 'u')
System.out.println("입력한 문자 : " + my_input + " 은(는) 모음입니다");
else
System.out.println("입력한 문자 : " + my_input + " 은(는) 자음입니다");
이렇게 하면 대문자와 소문자를 모두 올바르게 처리할 수 있어 코드의 안정성이 한층 높아집니다.