Categories: Frequently Asked Java Programs In Interview

Java Program 08: Program to find occurrence of individual characters in a given string.

Hello Folks,

As part of frequently asked java programs, we will learn to develop a java program to find out occurrence of individual characters in a given string.

Logic:

  1. To get input from user, we will use Scanner class.
  2. We will use Map interface concept here which deals in key-value pair.
  3. We will convert given string in to a char array.
  4. We will iterate char array index by index and will add in to Map if char does not exist already. If it exists we will increase value by one.
    package MakeSeleniumEasy;
    
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Scanner;
    import java.util.Set;
     
    public class CountOfCharsInString {
     
        /**
         * @param inputString
         * @return Map
         * This method will save all char in a Map.
         */
        public Map getCountOfChar(String inputString)
        {     
            Map charDictionary = new HashMap();
            // converting given string in to lower case
            String inoutCharInLowerCase=inputString.toLowerCase();
            // Converting string in to char array
            char[] chrsInString = inoutCharInLowerCase.toCharArray();
            // iterating char array 
            /*
             * Map stores as key and value pairs where key should be unique. 
             * We will consider character as a key. If key does not exists, we will add
             * in to key with value 1. If key exists, we will just increment the value by one.
             */
            for(Character ch:chrsInString){
                if(charDictionary.containsKey(ch)){
                    charDictionary.put(ch, charDictionary.get(ch)+1);
                } else {
                    charDictionary.put(ch, 1);
                }
            }
            return charDictionary;
            
        }
        
        /**
         * @param charCountMap
         * This method will print all characters with number of occurrence in a string.
         * If char is white space, it will be shown as "White space".
         */
        public void printCharWithCount(Map charCountMap)
        {
            Set keys = charCountMap.keySet();
            for(Character ch:keys)
            {
                    if(ch==' ')
                    {
                            System.out.println("White space" +" = "+charCountMap.get(ch));
                    }
                    else
                    {
                            System.out.println(ch +" = "+charCountMap.get(ch));
                    }
            }
        }
        
        /**
         * @param charCountMap
         * This method can be used to print duplicate characters in a given string. 
         */
        public void printDuplicateCharsWithOccurance(Map charCountMap)
        {
            System.out.println("Duplicate characters are:");
            Set keys = charCountMap.keySet();
            for(Character ch:keys)
            {
                    if(!(ch==' '))
                    {
                            if(charCountMap.get(ch) > 1)
                        {
                            System.out.println(ch);
                        }
                    }
            }
            
        }
         
        public static void main(String a[])
        {
            Scanner sc= new Scanner(System.in);
            System.out.println("Please provide a string to get count of characters: ");
            String inputString= sc.nextLine();
            CountOfCharsInString object = new CountOfCharsInString();
            Map map= object.getCountOfChar(inputString);
            object.printCharWithCount(map);
            object.printDuplicateCharsWithOccurance(map);
        }
    }
    
    
    

    Output:

    Please provide a string to get count of characters:
    Amod Mahajan
    White space = 1
    a = 4
    d = 1
    h = 1
    j = 1
    m = 2
    n = 1
    o = 1
    Duplicate characters are:
    a
    m

    ======================================================================

    Please provide a string to get count of characters:
    Make Selenium Easy
    White space = 2
    a = 2
    s = 2
    e = 4
    u = 1
    i = 1
    y = 1
    k = 1
    l = 1
    m = 2
    n = 1
    Duplicate characters are:
    a
    s
    e
    m

    If you have nay doubt or suggestions feel free to comment.
    If you like my posts, please like, comment, share and subscribe.
    #HappyCoding

    Author: Amod Mahajan

    My name is Amod Mahajan and I am an IT employee with 4+ years of experience in Software testing and staying in Bengaluru. My area of interest is Automation testing. I started from basics and went throw so many selenium tutorials. Thanks to Mukesh Otwani as his tutorials are easy and cover basics to advance. I have habit of exploring concepts by deep diving. I used to make notes. I thought of sharing my knowledge through posts and now I am here. #KeepLearning #ShareLearning

Amod Mahajan

My name is Amod Mahajan and I am an IT employee with 4+ years of experience in Software testing and staying in Bengaluru. My area of interest is Automation testing. I started from basics and went throw so many selenium tutorials. Thanks to Mukesh Otwani as his tutorials are easy and cover basics to advance. I have habit of exploring concepts by deep diving. I used to make notes. I thought of sharing my knowledge through posts and now I am here. #KeepLearning #ShareLearning

Recent Posts

Ways of Handling StaleElementReferenceException Without PageFactory

Hello Folks, Previously, I had published on Handling StaleElementReferenceException using PageFactory. But many people asked how to handle it if they…

4 days ago

How to Verify if Options in Dropdown are Sorted as Expected In Selenium WebDriver – Java

Hello Guys, As I say always, your automation script is ineffective if you do not include logic to validate to…

2 weeks ago

How Much Java Required For Selenium?

"How much Java I need to learn for selenium with Java binding?" is mostly asked question by a Professional who…

3 weeks ago

How To Verify If An Input Box Accepts Only Numbers Through Selenium

Hello Guys, You should not be able to type alphabets or special characters in a field which supposed to accept…

3 weeks ago

How To Verify Maximum Character Limit of an Input Box Through Selenium

Hello Folks, Recently a guy asked me this question which he was asked in an interview in IBM. What the…

3 weeks ago

API Testing Tutorial Part 15 – Sending GET Request With Params in Postman

Hello Folks, As part of our API Testing series, we will see “Sending GET request with params in Postman”. In last…

3 weeks ago