String aft = null;
String bet = "";
//превращаем лист в строку:
for (int i=0; i<list.size(); i++) {
aft = list.get(i);
bet = bet.concat(aft);
}
//превращаем строку в массив символов
char[] chars = bet.toCharArray();
int a=0;
int b=0;
int v=0;
int g=0;
int d=0;
int e=0;
int ee=0;
int zh=0;
int z=0;
int u=0;
int uu=0;
int k=0;
int l=0;
int m=0;
int n=0;
int o=0;
int p=0;
int r=0;
int s=0;
int t=0;
int y=0;
int f=0;
int x=0;
int ts=0;
int ch=0;
int sh=0;
int shi=0;
int tv=0;
int yi=0;
int mg=0;
int we=0;
int yu=0;
int ya=0;
for (int i=0; i<chars.length; i++) {
Character by = chars[i];
if (by.equals('а')) a++;
if (by.equals('б')) b++;
if (by.equals('в')) v++;
if (by.equals('г')) g++;
if (by.equals('д')) d++;
if (by.equals('е')) e++;
if (by.equals('ё')) ee++;
if (by.equals('ж')) zh++;
if (by.equals('з')) z++;
if (by.equals('и')) u++;
if (by.equals('й')) uu++;
if (by.equals('к')) k++;
if (by.equals('л')) l++;
if (by.equals('м')) m++;
if (by.equals('н')) n++;
if (by.equals('о')) o++;
if (by.equals('п')) p++;
if (by.equals('р')) r++;
if (by.equals('с')) s++;
if (by.equals('т')) t++;
if (by.equals('у')) y++;
if (by.equals('ф')) f++;
if (by.equals('х')) x++;
if (by.equals('ц')) ts++;
if (by.equals('ч')) ch++;
if (by.equals('ш')) sh++;
if (by.equals('щ')) shi++;
if (by.equals('ъ')) tv++;
if (by.equals('ы')) yi++;
if (by.equals('ь')) mg++;
if (by.equals('э')) we++;
if (by.equals('ю')) yu++;
if (by.equals('я')) ya++;
}
// System.out.println(bet);
System.out.println("а" + " " + a);
System.out.println("б" + " " + b);
System.out.println("в" + " " + v);
System.out.println("г" + " " + g);
System.out.println("д" + " " + d);
System.out.println("е" + " " + e);
System.out.println("ё" + " " + ee);
System.out.println("ж" + " " + zh);
System.out.println("з" + " " + z);
System.out.println("и" + " " + u);
System.out.println("й" + " " + uu);
System.out.println("к" + " " + k);
System.out.println("л" + " " + l);
System.out.println("м" + " " + m);
System.out.println("н" + " " + n);
System.out.println("о" + " " + o);
System.out.println("п" + " " + p);
System.out.println("р" + " " + r);
System.out.println("с" + " " + s);
System.out.println("т" + " " + t);
System.out.println("у" + " " + y);
System.out.println("ф" + " " + f);
System.out.println("х" + " " + x);
System.out.println("ц" + " " + ts);
System.out.println("ч" + " " + ch);
System.out.println("ш" + " " + sh);
System.out.println("щ" + " " + shi);
System.out.println("ъ" + " " + tv);
System.out.println("ы" + " " + yi);
System.out.println("ь" + " " + mg);
System.out.println("э" + " " + we);
System.out.println("ю" + " " + yu);
System.out.println("я" + " " + ya);
Николай
16 уровень
Решил, но очень большим объёмом, подскажите, как сделать код короче?
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей
17 мая 2020, 21:37
Создай массив Char[] mass[] длинной 266, проводи проверку:
Если символ строки, например А(латинская) по АСКИ коду 65, то в mass[65] + 1 (добавляй 1).
Потом пробежись по массиву и печатай только те элементы массива которые больше 0. Они еще и будут отсортированы.
0
Ex3mal
17 мая 2020, 21:16
Если трудно с мапой можешь просто создать новый массив на 33 ячейки(присвоив каждой ячейке значение = 0, с помощью fill), выходной массив с буквами алфавита у тебя есть по условию, и если у тебя совпадает символ в листе с символами то добавляешь 1 в соответствующую ячейку созданного числового массива.
Ну и пользуйся циклами. В примере что я навел делаешь цикл который перебирает каждую строку, в нем цикл который перебирает каждый символ строки (charAt()), а в нем цикл который сравнивает каждый символ из массива с алфавитом с твоим символом.
0
Wladyslaw Java Developer Master
17 мая 2020, 18:35
почитать что такое мапы и как ними пользоваться, например.
0
barracudaExpert
17 мая 2020, 19:47
Согласен. Хорошо бы тут использовать класс HashMap реализующий интерфейс Map.
Это не сложно. Можешь найти в интернете видео минут на 10 про HashMap, и решишь эту задачу гораздо более компактно.
0