import java.util.*;
public class Main {
public static void countWords
(String text
) { text = text.toLowerCase();
text = text.replaceAll("[^a-zA-Z0-9 ]", "");
String[] words
= text.
split("\\s+");
Map
<String, Integer
> freq
= new HashMap
<>(); freq.put(w, freq.getOrDefault(w, 0) + 1);
}
for (Map.
Entry<String, Integer
> e
: freq.
entrySet()) { System.
out.
println(e.
getKey() + " → " + e.
getValue()); }
}
public static void main
(String[] args
) { String kalimat
= "This is a test. This is only a test"; countWords(kalimat);
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKcHVibGljIGNsYXNzIE1haW4gewoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBjb3VudFdvcmRzKFN0cmluZyB0ZXh0KSB7CiAgICAgICAgdGV4dCA9IHRleHQudG9Mb3dlckNhc2UoKTsKICAgICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlQWxsKCJbXmEtekEtWjAtOSBdIiwgIiIpOwogICAgICAgIFN0cmluZ1tdIHdvcmRzID0gdGV4dC5zcGxpdCgiXFxzKyIpOwoKICAgICAgICBNYXA8U3RyaW5nLCBJbnRlZ2VyPiBmcmVxID0gbmV3IEhhc2hNYXA8PigpOwogICAgICAgIGZvciAoU3RyaW5nIHcgOiB3b3JkcykgewogICAgICAgICAgICBmcmVxLnB1dCh3LCBmcmVxLmdldE9yRGVmYXVsdCh3LCAwKSArIDEpOwogICAgICAgIH0KCiAgICAgICAgZm9yIChNYXAuRW50cnk8U3RyaW5nLCBJbnRlZ2VyPiBlIDogZnJlcS5lbnRyeVNldCgpKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihlLmdldEtleSgpICsgIiDihpIgIiArIGUuZ2V0VmFsdWUoKSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBTdHJpbmcga2FsaW1hdCA9ICJUaGlzIGlzIGEgdGVzdC4gVGhpcyBpcyBvbmx5IGEgdGVzdCI7CiAgICAgICAgY291bnRXb3JkcyhrYWxpbWF0KTsKICAgIH0KfQo=