Bar Graph of Vowels & Consonants | ISC Computer Science 2024 Paper 2

Write a program to accept a sentence which may be terminated by either ‘.’, ‘?’ or ‘!’ only. The words may be separated by single blank spaces and are in uppercase.

Perform the following tasks:
(a) Count number of vowels and consonants present in each word.
(b) Generate the output of the frequency in the form of a bar graph, where V denotes vowels and C consonants, as shown below.

Test your program for the following data and some random data:

Example 1
INPUT: HOW ARE YOU?
OUTPUT:

WORD        COUNT
HOW         V
            CC
ARE         VV
            C
YOU         VV
            C

Example 2
INPUT: GOOD DAY!
OUTPUT:

WORD        COUNT
GOOD        VV
            CC
DAY         V
            CC

Example 3
INPUT: LONG LIVE THE KING#
OUTPUT: INCORRECT TERMINATING CHARACTER. INVALID INPUT

import java.util.Scanner;
class BarGraph{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        System.out.print("Enter the sentence: ");
        String s = in.nextLine().toUpperCase();
        char last = s.charAt(s.length() - 1);
        if(".?!".indexOf(last) == -1){
            System.out.println("INCORRECT TERMINATING CHARACTER. INVALID INPUT");
            return;
        }
        System.out.println("WORD\tCOUNT");
        String word = "";
        int v = 0;
        int c = 0;
        for(int i = 0; i < s.length(); i++){
            char ch = s.charAt(i);
            if(Character.isLetterOrDigit(ch)){
                word += ch;
                if("AEIOU".indexOf(ch) >= 0)
                    v++;
                else
                    c++;
            }
            else{
                System.out.print(word + "\t");
                for(int j = 1; j <= v; j++)
                    System.out.print("V");
                System.out.print("\n\t");
                for(int j = 1; j <= c; j++)
                    System.out.print("C");
                System.out.println();
                v = 0;
                c = 0;
                word = "";
            }
        }
    }
}

Leave a Reply

Your email address will not be published. Required fields are marked *