Advertisement
desislava_topuzakova

01. Count Chars in a String

Nov 4th, 2022
400
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. package maps;
  2.  
  3. import java.util.IdentityHashMap;
  4. import java.util.LinkedHashMap;
  5. import java.util.Map;
  6. import java.util.Scanner;
  7.  
  8. public class CountSymbolsInText_01 {
  9. public static void main(String[] args) {
  10. Scanner scanner = new Scanner(System.in);
  11. String text = scanner.nextLine().replaceAll("\\s+", "");
  12. //"text text text".replaceAll -> "texttexttext"
  13. //символ -> бр. срещанията
  14. Map<Character, Integer> symbolsCount = new LinkedHashMap<>();
  15. //HashMap -> няма значение редът на записите
  16. //LinkedHashMap -> записите се подреждат спрямо реда на добавяне
  17. //TreeMap -> записите е сортират спрямо техния ключ
  18.  
  19. for (char symbol : text.toCharArray()) {
  20. //"Desi" -> ['D', 'e', 's', 'i']
  21. /*if (symbol == ' ') {
  22. continue; //пропуска всичко надолу и преминава към следващия символ
  23. }*/
  24. //1. да не съм срещала такъв символ
  25. if (!symbolsCount.containsKey(symbol)) {
  26. symbolsCount.put(symbol, 1);
  27. }
  28. //2. да съм срещала такъв символ
  29. else {
  30. int currentCount = symbolsCount.get(symbol); //текущия бр. срещания
  31. symbolsCount.put(symbol, currentCount + 1);
  32. }
  33. }
  34.  
  35. //отпечатваме
  36. //символ -> бр. срещания
  37. //entry: key (symbol) -> value (count)
  38. //запис: символ бр. срещания
  39. symbolsCount.entrySet().forEach(entry -> System.out.println(entry.getKey() + " -> " + entry.getValue()));
  40. }
  41. }
  42.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement