как победить лишние пробелы? уже где можно условия натыкал, но не срабатывает.
package com.javarush.task.task09.task0923;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Гласные и согласные
*/
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));
List<Character> box = new ArrayList<>();
String s;
while ((s = reader.readLine()) != " ") {
for (int i = 0; i < s.length(); i++) {
box.add(s.charAt(i)); // добавляем символы из строки в массив
}
for (int i = 0; i < box.size(); i++) {
if (isVowel(box.get(i)) && box.get(i) != null) {
System.out.print(box.get(i) + " ");
}
}
System.out.println("");
for (int i = 0; i < box.size(); i++) {
if (!isVowel(box.get(i)) && box.get(i) != null) {
System.out.print(box.get(i) + " ");
}
}
}
}
// метод проверяет, гласная ли буква
public static boolean isVowel(char character) {
character = Character.toLowerCase(character); // приводим символ в нижний регистр - от заглавных к строчным буквам
for (char vowel : vowels) { // ищем среди массива гласных
if (character == vowel) {
return true;
}
}
return false;
}
}
или вообще сразу StringJoiner. У второго сразу можно задать разделитель " " и собрать строку в том виде, в котором требуется.StringJoiner не работает с символами (char), так что неудобно, отбой. Остановлюсь на StringBuffer.