Подскажите пожалуйста, почему не печатается буква Я с цифрой. Проблема с циклом из 48 строки. Запутался конкретно
package com.javarush.task.task10.task1012;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.*;
/*
Количество букв
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// Алфавит
List<Character> alphabet = Arrays.asList(
'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж',
'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о',
'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц',
'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я');
// Ввод строк
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
String s = reader.readLine();
list.add(s.toLowerCase());
}
ArrayList<Integer> numbers = new ArrayList<>();
ArrayList<Character> counts = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
String word = list.get(i);
char[] symbol = word.toCharArray();
for (int j = 0; j < word.length(); j++) {
for (Character character : alphabet) {
if (symbol[j] == character) {
counts.add(symbol[j]);
}
}
}
}
Collections.sort(counts);
int summary = 0;
int count = 0;
for (int i = 0; i < alphabet.size(); i++) {
while (count < counts.size()) {
if (counts.get(count).equals(alphabet.get(i))) {
summary += 1;
count += 1;
} else {
numbers.add(i, summary);
summary = 0;
break;
}
}
}
/*for (int i = 0; i < numbers.size(); i++) {
System.out.print(numbers.get(i));
}*/
/*for (Character character: counts) {
System.out.println(character);
}*/
for (int i = 0; i < alphabet.size(); i++) {
System.out.println(alphabet.get(i) + " " +numbers.get(i));
}
}
}
Одна буква просто теряется. Для последней группы else не сработает.
А посчитать по-разному можно. Например, массив на 33 ячейки, где индекс соответствует индексу буквы в alphabet, а значение - собственно счетчик, число таких букв в введенных строках.
Или то же самое, но с мапой.
При этом не нужно будет даже создавать список из всех символов и его сортировать.