Вывод в консоль, как мне кажется, правильный:
Мама мыла раму
а а ы а а
М м м л р
Process finished with exit code 0
Но задачу всё равно не засчитывает.
В чём может быть причина?package com.javarush.task.task09.task0923;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Гласные и согласные
*/
public class Solution {
public static char[] vowels = new char[]{'а', 'я', 'у', 'ю', 'и', 'ы', 'э', 'е', 'о', 'ё'};
public static void main(String[] args) throws Exception {
//напишите тут ваш код
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
char [] charsArray = bufferedReader.readLine().toCharArray();
ArrayList <Character> listVowels = new ArrayList<>();
ArrayList <Character> listConsonantsAndPunctuationMarks = new ArrayList<>();
Character d = ' ';
for (int i = 0; i < charsArray.length; i++) {
if (d.equals(charsArray[i])) {
continue;}
if (isVowel(charsArray[i])) {
listVowels.add(charsArray[i]);
}
else {
listConsonantsAndPunctuationMarks.add(charsArray[i]);
}
}
for (int i = 0; i < listVowels.size() - 1; i++) {
System.out.print(listVowels.get(i) + " ");
}
System.out.println();
for (int i = 0; i < listConsonantsAndPunctuationMarks.size() - 1; i++) {
System.out.print(listConsonantsAndPunctuationMarks.get(i) + " ");
}
} catch (IOException e) {
e.printStackTrace();
}
}
// метод проверяет, гласная ли буква
public static boolean isVowel(char character) {
character = Character.toLowerCase(character); // приводим символ в нижний регистр - от заглавных к строчным буквам
for (char vowel : vowels) { // ищем среди массива гласных
if (character == vowel) {
return true;
}
}
return false;
}
}