Долго шел к такому варианту решения, и он мне наиболее ясен. Буду очень благодарен, если кто-то сможет помочь понять где в этом коде ошибка и вообще можно ли таким способом ее решить? Заранее спасибо)
П.С. Сначала я все введенные слова загнал в одну строку, затем эту строку в список символов, затем я сверяю каждую букву алвавита(из списка alphabet) с символами из большого списка символов с помощью 2 вложенных циклов и условия if
Программа компилируется, но на выводе напротив каждой буквы алфавита цифра 0
package com.javarush.task.task10.task1012;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Количество букв
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// Алфавит
String abc = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
char[] abcArray = abc.toCharArray();
ArrayList<Character> alphabet = new ArrayList<Character>();
for (int i = 0; i < abcArray.length; i++) {
alphabet.add(abcArray[i]);
}
// Ввод строк
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
String s = reader.readLine();
list.add(s.toLowerCase());
}
StringBuilder b = new StringBuilder();
for (String s : list) {
b.append(s);
}
String allWords = b.toString();
char[] allWordsInChar = allWords.toCharArray();
ArrayList<Character> allWordsInCharInArray = new ArrayList<>();
for (int i = 0; i < allWordsInChar.length; i++) {
allWordsInCharInArray.add(allWordsInChar[i]);
}
int count = 0;
for (int i = 0; i < alphabet.size(); i++) {
for (int j = 0; j < allWordsInCharInArray.size(); j++) {
if (alphabet.get(i) == allWordsInCharInArray.get(j)) count++;
}
System.out.println(alphabet.get(i) + " " + count);
}
}
}