Frequently Asked Java Program 30: Java Program to Find Distinct Characters In Given String
Hello Folks,
As part of Frequently Asked Java Programs In Interviews For Freshers And Experienced, in this post we will see a java program to Find Distinct Characters In Given String.
Problem Statement:
User input: Make Selenium Easy
Output: K L N I U Y
Problem Solution:
Logic:
- Convert input string in to same case either upper or lower.
- Replace all whitespace with empty space.
- Take first char from given String.
- lastIndexOf(char c) method of String class gives the index of last occurrence of char in given string. If a character is not repeated in given string, lastIndexOf should give zero as we took first char to check. If it is zero, print.
- To repeat step 3 and 4, we must need to replace already checked char from string with empty space.
Java Program:
package StringPrograms;
import java.util.Scanner;
public class FindDistinctCharInString {
public static void findPrintDistinctCharInString(String inputString) {
// Converting input string to upper case
inputString = inputString.toUpperCase();
// Removing all white spaces
inputString = inputString.replace(" ", "");
// We need to keep counting char till its length is greater than 0
while (inputString.length() > 0) {
// Extracting first char
char c = inputString.charAt(0);
/*
* lastIndexOf(char c) method of String class gives the index of last occurrence of char in given string.
* If a character is not repeated in given string, lastIndexOf should give zero as we took first char to check.
* If it is zero, print.
*/
if(inputString.lastIndexOf(c)==0)
System.out.print(c+" ");
// Remove char whose occurrence is checked
inputString = inputString.replace(Character.toString(c), "");
}
}
public static void main(String[] args) {
// User input for the string to know distinct characters
Scanner sc = new Scanner(System.in);
System.out.println("Please enter the string to find distinct characters:");
String userInput = sc.nextLine();
sc.close();
System.out.println("You entered: " + userInput);
findPrintDistinctCharInString(userInput);
}
}
Output:
Please enter the string to find distinct characters:Make Selenium EasyYou entered: Make Selenium Easy
K L N I U Y
