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 inputStr = reader.readLine();
String vowel = "";
String notVowel = "";
for (int i = 0; i < inputStr.length(); i++) {
if (isVowel(inputStr.charAt(i))) {
vowel += inputStr.charAt(i) + " ";
}
else
if (Character.isWhitespace(' ')) {
notVowel += inputStr.charAt(i) + " ";
}
}
System.out.println(vowel);
System.out.println(notVowel);
}
// метод проверяет, гласная ли буква
public static boolean isVowel(char character) {
character = Character.toLowerCase(character);
// приводим символ в нижний регистр - от заглавных к строчным буквам
for (char vowel : vowels) { // ищем среди массива гласных
if (character == vowel) {
return true;
}
}
return false;
выдаёт ошибку Что вторая строка должна выводить согласные и знаки препинания, разделённые пробелом.
Что она и делает.
В чём ошибка? Карбофос Огарин
14 уровень
Неправильный вывод
Обсуждается
Комментарии (10)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Offroad MSK QA Automation Engineer в I-teco
18 марта 2021, 07:59
!Character.toString(inputStr.charAt(i)).equals(" ") - это проверка на то, что не является ли i-тый символ пробелом. Если является, то ничего не происходит. Если не является - то:
notVowel += inputStr.charAt(i) + " ";
У вас же вместо этого идет проверка на то является ли пробел пробелом:
Character.isWhitespace(' ');
Естественно, он всегда является и по-этому пробелы код не пропускает (а должен).
0
Александр Работает в безработный
11 марта 2021, 16:02
может лучше не проверять, а сразу удалить их.
0
Карбофос Огарин
11 марта 2021, 16:14
else if (!isVowel(inputStr.charAt(i))){
notVowel += inputStr.charAt(i) + " ";
}
if (Character.isWhitespace(i)) {
notVowel += "";
}
}
Вот у меня щас так получается, всё равно не выводит строку
0
Ksenia Volkova Java Developer в DXC Master
11 марта 2021, 16:18
Для пробела тоже выполнится условие
else if (!isVowel(inputStr.charAt(i)))
А проверять i вообще не имеет смысла, это же индекс
Character.isWhitespace(i)
0
Ksenia Volkova Java Developer в DXC Master
11 марта 2021, 15:50
В чем смысл этой строки?
0
Карбофос Огарин
11 марта 2021, 15:55
Проверяет на пробелы
0
Ksenia Volkova Java Developer в DXC Master
11 марта 2021, 15:59
Ага. А если точнее - проверяет, является ли пробел пробелом.
0
Александр Работает в безработный
11 марта 2021, 15:49
Попробуй ввести
0
Карбофос Огарин
11 марта 2021, 15:56
Ну выдало чуть больше пробелов, чем надо))
0
Александр Работает в безработный
11 марта 2021, 16:00
0