Here's my solution - the key row here is row number 15 (the highlighted one):
import java.util.*;
public class Pr_04_CountSymbols {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] input = sc.nextLine().split("");//GETTING THE INPUT AS AN ARRAY OF STRINGS
TreeMap<String, Integer> treeMap = new TreeMap<>();//USING THE TreeMap SO THE ELEMENTS WHEN PRINTING ARE IN ALPHABETICAL (LEXICOGRAPHICAL) ORDER
for (int i = 0; i < input.length; i++) {//ITERATE THROUGH THE ARRAY input[]
if (!treeMap.containsKey(input[i])) {//IF THERE ISN'T KEY input[i]IN THE treeMap...
treeMap.put(input[i], 1);//...ADD IT THERE + ADD 1 AS A VALUE
} else if (treeMap.containsKey(input[i])) {//IF THERE IS ALREADY KEY input[i] IN THE treeMap...
treeMap.put(input[i], (treeMap.get(input[i]) + 1));//...ADD IT THERE + ADD TO THE CURRENT VALUE OF THIS KEY 1
}
}
for (Map.Entry<String, Integer> entry : treeMap.entrySet()) {
System.out.printf("%s: %s time/s\n", entry.getKey(),entry.getValue());
}
}
}