forked from MAYANK25402/Hactober-2023-1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLetterFrequency.java
33 lines (27 loc) · 1.1 KB
/
LetterFrequency.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class LetterFrequency {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a text: ");
String text = scanner.nextLine();
Map<Character, Integer> letterFrequency = calculateLetterFrequency(text);
for (Map.Entry<Character, Integer> entry : letterFrequency.entrySet()) {
char letter = entry.getKey();
int frequency = entry.getValue();
System.out.println(letter + ": " + frequency);
}
}
//LetterFrequencyAlgorithm using HashMap
public static Map<Character, Integer> calculateLetterFrequency(String text) {
Map<Character, Integer> letterFrequency = new HashMap<>();
for (char letter : text.toCharArray()) {
if (Character.isLetter(letter)) {
char lowercase = Character.toLowerCase(letter);
letterFrequency.put(lowercase, letterFrequency.getOrDefault(lowercase, 0) + 1);
}
}
return letterFrequency;
}
}