Наверное я сильно намудрил и этот код довольно трудно понять. Не понимаю почему не работает. Возможно символы не правильно сравниваю.
Что я пытаюсь сделать:
1) Преобразую каждую строку по отдельности в массив символов и далее работаю с каждой строкой по отдельности.
2) Второй вложенный цикл пробегает по каждому символу строки
3) Третий вложенный цикл проверяет каждый символ строки на соответствие с каждой буквой алфавита, при нахождении совпадения в лист numberOfLetters в ячейку соответствующую букве алфавита прибавляется единица.
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> numberOfLetters = new ArrayList<>();
// напишите тут ваш код
for (int i = 0; i < 10; i++) { //Цикл пробегает по каждой строке
char[] str = list.get(i).toCharArray(); //Строка преобразуется в массив символов
for (int j = 0; j < str.length; j++) { //Пробегает по каждому символу строки для нахождения совпадений
for (int k = 0; k < alphabet.size(); k++) { //Прибавляется + 1 при нахождении совпаденния по каждой букве
if (str[j] == alphabet.get(k))
numberOfLetters.set(k, alphabet.get(k) + 1);
}
}
}
for (int i = 0; i < 33; i++) {
System.out.println(alphabet.get(i) + " " + numberOfLetters.get(i));
}
}
}