Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 11.12.2019
Сообщений: 3
1

В массиве строк подсчитать общее количество гласных букв

11.12.2019, 11:13. Показов 6225. Ответов 7

Author24 — интернет-сервис помощи студентам
Возникла проблема, программа, вроде, написана, но она не работает: при вводе любого "m" результат выдаёт "0" всегда.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package lb8;
import java.util.Scanner;
public class LB8 {
 
    public static void main(String[] args) {
                char[] vowel = new char [] {'e', 'i', 'u', 'a', 'o', 'y', 'k', 'a'};
                Scanner in = new Scanner(System.in);
                System.out.println ("Введите m: ");
                int m = in.nextInt();
                in.nextLine();
                int count;
                for (int k = m; k>0; k--) {
                    count = 0;
                     String str = in.nextLine(); 
                        char[] Array1 = str.toCharArray(); 
                        for (char ch : vowel) {
                            for (char ch1 : Array1)    {
                             if (ch == ch1)          {
                                 count ++;
                                
                        }
                    }
                } 
                     System.out.println (count + " ");
               
                } 
            }
        }
Добавлено через 1 час 45 минут
Помогите, пожалуйста решить проблему, буду очень благодарен за объяснение
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2019, 11:13
Ответы с готовыми решениями:

В символьном массиве подсчитать количество гласных согласных букв
В символьном массиве подсчитать количество гласных согласных букв. (русский алфавит. Определение...

В символьном массиве подсчитать количество гласных и согласных букв.
Условие: В символьном массиве подсчитать количество гласных и согласных букв.(Английский алфавит....

Подсчитать количество гласных букв в каждой из заданных строк
Условие: Заданы М строк слов, которые вводятся с клавиатуры. Подсчитать количество гласных букв в...

Подсчитать количество гласных букв в каждой из заданных строк
Заданы М строк слов, которые вводятся с клавиатуры. Подсчитать ко-личество гласных букв в каждой из...

7
1246 / 858 / 265
Регистрация: 02.04.2009
Сообщений: 3,255
11.12.2019, 11:20 2
Цитата Сообщение от AlpengOlD_dis Посмотреть сообщение
количество гласных букв
Цитата Сообщение от AlpengOlD_dis Посмотреть сообщение
'k',
???

Java
1
2
3
                int count;
                for (int k = m; k>0; k--) {
                    count = 0; // <----------------------------------------------- ????
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
11.12.2019, 11:25 3
чо такое m? и когда у нас k стала vowel?

Добавлено через 3 минуты
Java
1
2
3
private static int countVowels(String s) {
        return s.replaceAll("[^aieou]", "").length();
    }
0
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
11.12.2019, 11:25 4
Цитата Сообщение от AlpengOlD_dis Посмотреть сообщение
В массиве строк
это у тебя массив строк?!
Цитата Сообщение от AlpengOlD_dis Посмотреть сообщение
{'e', 'i', 'u', 'a', 'o', 'y', 'k', 'a'};
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
12.12.2019, 09:55 5
Лучший ответ Сообщение было отмечено AlpengOlD_dis как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Main {
    public static void main(String[] args) {
        String[] strings = new String[] {
            "a",
            "b",
            "c",
            "de",
            "y"
        };
 
        System.out.println(countVowels(strings));
    }
 
    public static long countVowels(String[] strings) {
        return String.join("", strings)
                .toLowerCase()
                .chars()
                .mapToObj(o -> (char) o)
                .filter(c -> "aeiouy".contains(String.valueOf(c)))
                .count();
    }
}
1
0 / 0 / 0
Регистрация: 11.12.2019
Сообщений: 3
13.12.2019, 17:53  [ТС] 6
Не могли бы вы объяснить что происходит в второй части кода программы, то есть за что отвечает каждая введённая строчка?
Заранее огромное спасибо!
0
406 / 278 / 93
Регистрация: 14.03.2017
Сообщений: 777
13.12.2019, 18:07 7
AlpengOlD_dis, без Java8

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
Character[] vowel = {'e', 'i', 'u', 'a', 'o', 'y', 'k', 'a'};
Set<Character> vowels = new HashSet(Arrays.asList(vowel));
 
int flagger = 0;
 
for (String string : new String[] { "Andromeda" })
    for (char symbol : string.toLowerCase().toCharArray())
        if (vowels.contains(symbol)) flagger++;
 
System.out.println(flagger);
0
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
13.12.2019, 20:38 8
Цитата Сообщение от AlpengOlD_dis Посмотреть сообщение
что происходит в второй части кода программы
Функциональное программирование в JAVA
0
13.12.2019, 20:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2019, 20:38
Помогаю со студенческими работами здесь

Списки: подсчитать количество гласных букв в каждой из заданных строк
Заданы M строк слов, которые вводятся с клавиатуры. Подсчитать количество гласных букв в каждой...

Подсчитать количество гласных букв в первой половине строк текста
помогите плиз с этими задачами двумя 1) Дан текстовый файл. подсчитать количество гласных букв в...

Подсчитать количество букв "А" в предложении и общее количество букв. В тексте несколько строк.
помогите с программкой пожалуйста. язык для меня совершенно незнакомый, а от решения этой задачки...

26. Подсчитать количество букв "А" в предложении и общее количество букв. В тексте несколько строк.
помогите с программкой пожалуйста. язык для меня совершенно незнакомый, а от решения этой задачки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru