Поиск слова в строке java

122
19 февраля 2022, 02:20

Ввести строку с клавиатуры. Из введенной строки выбрать все слова, начинающиеся на гласные буквы и заканчивающиеся на согласные. Вывести отобранные слова на консоль.

Добрый день, выше задание, не знаю как сделать, через сканер забил ввод строки, создал массивы с гласными буквами и согласными, но как дальше быть не знаю, может вообще не нужно было массивы создавать, ваше мнение?

System.out.println("Введите строку из слов"); 
Scanner sc = new Scanner(System.in); 
String[] str = sc.nextLine().split(" "); 
System.out.println(Arrays.deepToString(str)); 
String [] glas = new String[] {"a", "i", "o", "u", "y", "e" }; 
String [] soglas = new String[] {"q", "w", "r", "t", "p", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m"};
Answer 1

Попробуйте так и задавайте вопросы , если что-то непонятно...

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class Solution {
    private static final Set<Character> VOWEL_SET = new HashSet<>(Arrays.asList(new Character[]{'a', 'i', 'o', 'u', 'y', 'e'}));
    private static final Predicate<char[]> PREDICATE = chars -> isVowel(chars[0]) && !isVowel(chars[chars.length - 1]);
    public static void main(String[] args) {
        System.out.println("Введите строку из слов : ");
        Scanner sc = new Scanner(System.in);        
        List<String> result = Arrays.stream(sc.nextLine().split(" "))
                .filter(s -> PREDICATE.test(s.toCharArray()))
                .collect(Collectors.toList());        
        System.out.println(result);
    }
    private static boolean isVowel(char c) {
        return VOWEL_SET.contains(Character.toLowerCase(c));
    }
}
READ ALSO
Как исправить &quot;error cannot find symbol java&quot;?

Как исправить "error cannot find symbol java"?

Только начал учиться программированиюПри компиляции main файла выходит ошибка ""error cannot find symbol java"

102
Android Q, scoped storage

Android Q, scoped storage

Как известно, в Android Q (API=29) Google в очередной раз изменил правила доступа к внешней памяти (external storage) и ввел понятие Scoped StorageТеперь:

164
Указать путь к папке

Указать путь к папке

Надо, чтобы пользователь указал путь к папке с файлами через визуальный файловый менеджерНашел следующий код

100
slack использование event api

slack использование event api

Не могу разобраться где взять "Request URL" для ивента, в задаче надо поприветствовать нового участника каналаИ похоже для этого, нужно подписать...

106