Любому совету буду рад други:-)
Задачу решил вроде, вывод адекватный-но не проходит...
Задание этой задачи:
Количество букв
Ввести с клавиатуры 10 строчек и подсчитать в них количество различных букв (для 33 букв алфавита). Результат вывести на экран в алфавитном порядке.
Пример вывода:
а 5
б 8
в 3
г 7
д 0
…
я 9
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());
}
// напишите тут ваш код
int[] counts = new int[33];
for (int i = 0; i < 10; i++)
{
String temp_string = list.get(i); //берем одну из строк
char[] temp_array = temp_string.toCharArray(); //переводим в массив букв
ArrayList<Character> temp_alphabet = new ArrayList<Character>(); //переводим массив букв char[] temp_array в ArrayList<Character> temp_alphabet
for (int l = 0; l < temp_array.length; l++)
{
temp_alphabet.add(temp_array[l]);
for (int j = 0; j < temp_alphabet.size(); j++) //проходим по каждой букве из строки
{
char temp = temp_alphabet.get(j);
for (int k = 0; k < alphabet.size(); k++) //сравниваем ее каждую букву с каждой буквой ArrayList<Character> alphabet
{
char temp2 = abcArray[k];
if (temp == temp2)
{
counts[k]++;
}
}
}
}
//Далее-обнуляем временную базу. Чтобы была готова к обработке следующей строки
temp_alphabet.clear();
}
for (int i =0; i<alphabet.size(); i++) //выводим на печать всю лабуду
{
System.out.print(alphabet.get(i)+ " " + counts [i]);
System.out.println();
}
}
}