Подсчет вхождений каждого символа в строку через коллекцию JAVA.
Предположим, вам нужно написать программу на Java, которая печатает количество вхождений каждого символа, а также не должна печатать повторяющиеся вхождения повторяющихся символов, как показано в примере:
Вход: java java
Выход: j=2
a=4
v=2
=1
Этот код также подсчитывает появление пробела.
импортировать java.util.Iterator;
импортировать java.util.LinkedHashMap;
импортировать java.util.Map.Entry;
импортировать java.util.Scanner;
открытый класс DuplicateCount {
public static void main(String[] args) {
Сканер sc = новый сканер (System.in);
Строка ул = sc.nextLine();
char[] ch = str.toCharArray();
LinkedHashMap‹Character, Integer› ma = new LinkedHashMap‹›();
for (int i = 0; i ‹ ch.length; i++) {
если (ma.containsKey(ch[i])) {
ma.replace(ch[i], ma.get(ch[i]) + 1);
} еще {
ma.put(ch[i], 1);
}
}
Iterator‹Entry‹Character, Integer›› it = ma.entrySet().iterator();
в то время как (it.hasNext()) {
System.out.println(it.next());
}
ск.закрыть();
}
}
Вышеприведенная программа содержит пробелы для символов. Если вы хотите удалить пробел, просто добавьте « ma.remove(‘ ‘); «Перед итерацией карты.