Вроде логику программы выстроил верно, но что-то упустил. На выходе две строки, но в каждой из них почему-то сначала null, не понятно из-за чего.
package com.javarush.task.task09.task0923;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
Гласные и согласные
*/
public class Solution {
public static char[] vowels = new char[]{'а', 'я', 'у', 'ю', 'и', 'ы', 'э', 'е', 'о', 'ё'};
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String string = reader.readLine();
String vowel = null;
String consonant = null;
for (int i = 0; i < string.length(); i++) {
char c = string.charAt(i);
if (isVowel(c)) {
vowel = Character.toString(c) + " ";
} else if (!isVowel(c)) consonant = Character.toString(c) + " ";
}
System.out.println(vowel);
System.out.println(consonant);
}
// метод проверяет, гласная ли буква
public static boolean isVowel(char c) {
c = Character.toLowerCase(c); // приводим символ в нижний регистр - от заглавных к строчным буквам
for (char d : vowels) { // ищем среди массива гласных
if (c == d) {
return true;
}
}
return false;
}
}