count frequency of characters in string using java
In most of the interviews , we always get this question from interviewer :
program to count frequency of characters in string ?
program to count number of times character occurred in given String?
program to count number of times character repeated in statement ?
today we are going to see the solution for this , using java we will print count of frequency of characters in string :
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
public class CountFrequency {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
String input = null;
int option=0;
try {
do {
System.out.println("Enter 1 to test new String: ");
System.out.print("\nEnter 2 for exit : ");
try {
option = scn.nextInt();
}
catch(Exception e) {
System.out.println("Wrong input ,Please Enter 1 or 2 ");
e.printStackTrace();
option=2;
}
if (option == 1) {
System.out.println("Enter String here ->");
input = scn.next();
countNumberOfCharacters(input);
}
else if(option==2) {
System.out.println("Program is stopped, run again to test");
}
else {
System.out.println("Enter either 1 or 2");
}
} while (option != 2);
} catch (Exception e) {
e.printStackTrace();
} finally {
scn.close();
}
}
private static void countNumberOfCharacters(String input) {
char[] myArray = input.toCharArray();
Map<Character, Integer> myMap = new HashMap<Character, Integer>();
for (int i = 0; i < myArray.length; i++) {
int frequency = 0;
char tempKey = myArray[i];
if (!myMap.containsKey(tempKey)) {
myMap.put(tempKey, frequency + 1);
} else {
myMap.put(tempKey, myMap.get(tempKey) + 1);
}
}
System.out.println("Count is as below :");
for (Entry<Character, Integer> myEntry : myMap.entrySet()) {
System.out.println( myEntry.getKey() + ": " + myEntry.getValue());
}
}
}
Output :
Enter 1 to test new String: Enter 2 for exit : 1 Enter String here -> crtr4u.com Count is as below : r: 2 c: 2 t: 1 4: 1 u: 1 m: 1 .: 1 o: 1 Enter 1 to test new String: Enter 2 for exit : 1 Enter String here -> aaBBcccd Count is as below : a: 2 B: 2 c: 3 d: 1 Enter 1 to test new String: Enter 2 for exit : 2 Program is stopped, run again to testHappy Learning, Keep Coding.