# 자음과 모음(AEIOU) 자바에는 문자(`char`)라는 타입이 존재합니다. 문자는 홑따옴표(`'`)로 둘러싸입니다. ``` # 문자 타입 변수 char ch = 'A'; ``` 문자열은 여러 글자를 담을 수 있으나, 문자는 단일 문자만 가능합니다. ``` # 문자열 vs 문자 String str = "ABC"; char ch2 = 'ABC'; // ERROR ``` 문자열은 `toCharArray()` 메소드를 통해 문자의 배열로 만들 수 있습니다. ``` String str2 = "ABC"; char[] letters = str2.toCharArray(); // char[] letters = { 'A', 'B', 'C' }; ``` ## 문제 영어의 모음이 A, E, I, O, U라 가정했을 때, 문자열의 자음과 모음의 개수를 배열로 반환하는 `count()` 메소드를 완성하려 한다. 소문자 모음(aeiou)과 특수문자(느낌표 및 물음표)를 추가 인식하도록 `count()` 메소드를 수정하고, 출력 예와 같은 결과를 얻으시오. ## 출력 예 ``` Programming is fun! right? => 자음 15개, 모음 6개 ```
관련 강의로 이동

코드: java 1.8

public class AEIOU { public static void main(String[] args) { // 변수 생성 String s = "Programming is fun! right?"; // 자음 모음 개수 세기 int[] result = count(s); // 결과 출력 System.out.printf("%s\n=> 자음 %d개, 모음 %d개", s, result[0], result[1]); } public static int[] count(String str) { int conso = 0; // 자음 int vowel = 0; // 모음 // 문자열을 문자의 배열로 만듬 // {'P','r','o','g','r','a','m','m','i','n','g',...,'?'} char[] characters = str.toCharArray(); // 모든 문자 배열을 순회하며 검사 for (int i = 0; i < characters.length; i++) { switch (characters[i]) { // 모음 case 'A': case 'E': case 'I': case 'O': case 'U': vowel++; break; // 공백 및 특수 문자 제외 case ' ': // 스페이스 case '\t': // 탭 case '\n': // 엔터 case ',': // 콤마 case '.': // 닷 break; // 그 외(자음) default: conso++; break; } } return new int[] { conso, vowel }; } }

입력

정답이 궁금하다면? 코드를 제출해보세요!