Frequently Asked Java Program 27: Java Program to Find Occurrence of Any Char in a Given String Without Iterating

Problem Statement:

Find occurrence of given char  (Ignore case)  in given string without iterating through string.

Input – Make Selenium Easy

Char – ‘M’

Output- Occurrence of M is 2.

Problem Solution:

We need to solve this problem without iterating through string in search of character. Its simple.

Logic step by step:

  1. FInd the initial length of given string.
  2. Replace desired char by empty character.
  3. Find the length of string after replacement.
  4. FInd the difference between initial and current length.
  5. The difference is occurrence of asked char in string.

 

Java Programs:

package StringPrograms;

import java.util.Scanner;

public class CountOfCharInGivenString {
	
	public static int countOfChar(String inputString, char charToFind)
	{
		//Converting string into same case
		inputString = inputString.toUpperCase();
		
		// Converting char to upper case
		String charString= Character.toString(charToFind).toUpperCase();
		
		// Find length of actual string
		int lengthBeforeReplacingSpace = inputString.length();
		
		// Replace char to be searched for by empty character
		inputString = inputString.replace(charString, "");
				
		//FInd the new length after replacement
		int lengthAfterReplacingSpace = inputString.length();
		
		// FInd the difference
		int countOfSpace = lengthBeforeReplacingSpace- lengthAfterReplacingSpace;
		
		// return the difference which is actually occurrence of char
		return countOfSpace;
		
	}

	
	public static void main(String[] args) {

		// User input for the string to know length
		Scanner sc = new Scanner(System.in);
		System.out.println("Please enter the string :");

		String userInput = sc.nextLine();
		
		
		System.out.println("Please enter the char to find occurrence in : "+userInput);

		char charToFind = sc.nextLine().charAt(0);

		sc.close();

		System.out.println("You entered: " + userInput);
		System.out.println("Char to be found: " + charToFind);

		System.out.println("Count of "+charToFind+" is :" + countOfChar(userInput,charToFind));
		
		
		

	}
}


Output:

[java]
Please enter the string :
Make Selenium Easy
Please enter the char to find occurrence in : Make Selenium Easy
m
You entered: Make Selenium Easy
Char to be found: m
Count of m is :2
=================================================================
Please enter the string :
Autoation Tester
Please enter the char to find occurrence in : Autoation Tester
T
You entered: Autoation Tester
Char to be found: T
Count of T is :4
=================================================================
[/java]

#HappyCoding

3 thoughts on “Frequently Asked Java Program 27: Java Program to Find Occurrence of Any Char in a Given String Without Iterating

  1. There is a another easy way for the same question:

    Please give your suggesion on this:

    package basicJava;

    import java.util.Scanner;

    public class OccuOfCharInString {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println(“Enter the String :”);
    Scanner scan = new Scanner(System.in);
    String str=scan.nextLine();
    System.out.println(“Enter the chat need to find the occurance:”);
    char ch=scan.nextLine().charAt(0);
    int count=0;
    for(int i=0;i<str.length();i++) {
    if(ch==str.charAt(i)) {
    count++;
    }
    }
    System.out.println("The total number of occurance of given char is "+count);
    }

    }

Leave a Reply to Gangadhar mundru Cancel reply

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