Не очень понятны подсказки валидатора, особенно к контексте того, что с клавиатуры могут быть внесены иные символы.
Какая разница какие символы будут внесены, если я явно проверяю все символы на наличие совпадение по массиву alphabet.
Строк так же 33
package com.javarush.task.task10.task1012;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
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 line = reader.readLine();
list.add(line.toLowerCase());
}
Map<Character, Integer> answer = new LinkedHashMap<>();
for (Character a : alphabet){ // нагоняем данные в мапу
answer.put(a, 0);}
for (String a : list){
char[] lineToCharacter = a.toCharArray();
for (Character c : lineToCharacter) {
int i = answer.get(c);
i += 1;
answer.put(c,i);
}
}
Iterator<Map.Entry<Character, Integer>> iterator = answer.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<Character, Integer> iter = iterator.next();
System.out.println(iter.getKey() + " " + iter.getValue());
}
// напишите тут ваш код
}
}
Нет, массив мапы состоит из 33 эллементов.