худо-бедно написал подсчет символов. Конструкцию для сортировки в момент вывода на экран пришлось нагуглить, не осилил... но она выводит через "=", а в условиях валидатора должен быть пробел. Конструкция:
map.entrySet().stream().sorted(Map.Entry.<Character, Integer>comparingByKey()).forEach(System.out::println);
Или это безнадежно, и нужно саму логику переделывать под что то поддающееся сортировке?
и еще вопрос: как вставить в вопрос фрагмент кода в стиле кода, а не просто как текст? никак не могу найти с телефона
package com.javarush.task.task10.task1012;
import java.io.BufferedReader;
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 = reader.readLine();
list.add(s.toLowerCase());
}
Map<Character, Integer> map = new HashMap<Character, Integer>();
for(int i = 0; i < alphabet.size(); i++)
map.put(alphabet.get(i), 0);
char[] c;
String str;
Character ch;
int value;
for(int i = 0; i < list.size(); i++) {
str = list.get(i);
c = str.toCharArray();
for(int j = 0; j < c.length; j++) {
for(Map.Entry<Character, Integer> m : map.entrySet()) {
ch = m.getKey();
if(ch.equals(c[j])) {
value = m.getValue();
m.setValue(value + 1);
}
}
}
}
map.entrySet().stream().sorted(Map.Entry.<Character, Integer>comparingByKey()).forEach(System.out::println);
}
}