Решил задачу, в IDEA все компилируется, работает и считает и выводит как требуется. Никаких проблем Нет!!! в т.ч. и на строках "абвгдеёжзийклмнопрстуфхцчшщъыьэюя". Все в соответствии с условиями задачи. Пишет, что "Ваша программа работала слишком долго". При запуске через валидатор сайта пишет., "похоже вы используете бесконечный цикл"
В задаче использовал метод wordCount, который возвращает для переданной строки s и списка символов (алфавита ) listof готовый Map, содержащий инфу о к-ве использования каждого символа алфавита.
Что хочет валидатор?
Еще раз: Если запустить этот код в IDEA, там все работает прекрасно.
package com.javarush.task.task10.task1012;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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 = null;
try {
s = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
list.add(s.toLowerCase());
}
//Map<Character,Integer> resMap = new HashMap<>();
Map<Character,Integer> tmpMap = new HashMap<>();
for (int i = 0; i < alphabet.size(); i++) {
char curSym = alphabet.get(i);
int curSymCnt = 0; // текущая буква и к-во
// начинаем парсинг всех строк и их мапов с данными
for (int j = 0; j < list.size(); j++) {
String cur = list.get(j);
tmpMap = wordCount(cur,alphabet);// получили map с данными о строке
curSymCnt = curSymCnt+tmpMap.get(curSym); //получили к-во текущей буквы и сложили с предыдущими
}
System.out.printf("%s %d",curSym,curSymCnt ) ;
System.out.println();
}
}
public static Map<Character,Integer> wordCount(String s, List<Character> listof){
ArrayList<Character> arr = new ArrayList<>();
Map<Character,Integer> map = new HashMap<>();
int curLetterCount = 0;
for (int i = 0; i < s.length(); i++) {
arr.add(s.charAt(i));
}
for (int i = 0; i < listof.size(); i++) {
curLetterCount=0;
char c = listof.get(i);
for (int j = 0; j < arr.size(); j++) {
if(arr.get(j).equals(c)){
curLetterCount++;
}
}
map.put(c,curLetterCount);
}
return map;
}
}