package com.javarush.test.level09.lesson11.home05;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
/* Гласные и согласные буквы
Написать программу, которая вводит с клавиатуры строку текста.
Программа должна вывести на экран две строки:
1. первая строка содержит только гласные буквы
2. вторая - только согласные буквы и знаки препинания из введённой строки.
Буквы соединять пробелом, каждая строка должна заканчиваться пробелом.
Пример ввода:
Мама мыла раму.
Пример вывода:
а а ы а а у
М м м л р м .
*/
public class Solution
{
public static void main(String[] args) throws Exception
{
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
char[] c;
List<String> list = new ArrayList<>();
List<String> list2 = new ArrayList<>();
String a;
StringTokenizer st = new StringTokenizer(s, " \t\n\r"); //создаём StringTokenizer, который режет фразу по пробелам, запятым.
while(st.hasMoreTokens()) //запускаем цикл вывода слов из токена
{
a = st.nextToken(); //присваиваем переменной стринг слово из токена
c = a.toCharArray(); //разбиваем слово на посимвольный char-массив
for (char aC : c)
{
boolean vowel = isVowel(aC);
if (vowel)
{
list.add(String.valueOf(aC));
} else
{
list2.add(String.valueOf(aC));
}
}
}
for (String w : list)
{
System.out.print(w + " ");
}
System.out.println();
for (String w1 : list2)
{
System.out.print(w1 + " ");
}
}
public static char[] vowels = new char[]{'а', 'я', 'у', 'ю', 'и', 'ы', 'э', 'е', 'о', 'ё'};
//метод проверяет, гласная ли буква
public static boolean isVowel(char c)
{
c = Character.toLowerCase(c); //приводим символ в нижний регистр - от заглавных к строчным буквам
for (char d : vowels) //ищем среди массива гласных
{
if (c == d)
return true;
}
return false;
}
}
Leave A Comment