ICSE Class 10 Computer Applications Question 20 of 46

String Handling — Question 20

Back to all questions
20
Question

Question 7

Write a program to input a string in uppercase and print the frequency of each character.
Sample Input : COMPUTER HARDWARE
Sample Output

Character	Frequency
A	            2
C	            1
D	            1
E	            2
H	            1
M	            1   
0	            1
p	            1
R	            1
import java.util.Scanner;

public class KboatLetterFreq
{
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter a sentence:");
        String str = in.nextLine();
        str = str.toUpperCase();
        int freqMap[] = new int[26];
        int len = str.length();
        
        for (int i = 0; i < len; i++) {
            char ch = str.charAt(i);
            if (Character.isLetter(ch)) {
                int chIdx = ch - 65;
                freqMap[chIdx]++;
            }
        }
        
        System.out.println("Character\tFrequency");
        for (int i = 0; i < freqMap.length; i++) {
            if (freqMap[i] > 0) {
                System.out.println((char)(i + 65) 
                            + "\t\t" + freqMap[i]);
            }
        }
    }
}
Output
BlueJ output of KboatLetterFreq.java
Answer