Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바(Java)로 알파벳이 모음인지 자음인지 확인하는 방법

이 글에서는 자바(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 + " 은(는) 자음입니다");

이렇게 하면 대문자와 소문자를 모두 올바르게 처리할 수 있어 코드의 안정성이 한층 높아집니다.