Java >> Java tutorial >  >> Java

Anagram Java-program eksempel

Hvad er et Anagram?

To sæt af en streng siges at være anagram, hvis de indeholder nøjagtig de samme tegn, men i en anden rækkefølge.

for eksempel:

Stil og Lyt er anagram af hinanden, fordi begge har det samme sæt af tegn, men i men i forskellig rækkefølge.

Nogle andet Anagram-eksempel

Øjnene De ser
Begravelse Rigtig sjovt
En gentleman Elegant mand

I denne øvelse lærer du, hvordan du skriver et Java-program for at kontrollere, om et sæt af strengen er anagram eller ej.

//Java program to find two strings are anagram or not

//Importing util library with all package
import java.util.*;

//Main / Drived Class
public class Main{

  //main function of the program
  public static void main (String[] args) {
    //Creating object of Scanner Class
    Scanner input = new Scanner(System.in);
    //Printing message what to enter to help user
    System.out.print("Enter first string : ");
    //taking first string input
    String str1 = input.nextLine();
    //Printing message what to enter to help user
    System.out.print("Enter second string : ");
    //taking second string input
    String str2 = input.nextLine();

    // replace all spaces from targeted string
    str1 = str1.replaceAll("\\s","");
    // replace all spaces from targeted string
    str2 = str2.replaceAll("\\s","");

    //Create a boolean type variable with true value
    boolean status = true;
    //Checking the length of both strings
    //If length of doesn't match it can't be anagram
    if(str1.length() != str2.length()){
      //If string 1 and string 2 length not equals change status value
      status = false;
    }else{
      //f string 1 and string 2 length equals to each other
      //Converting strings into characters array
      char[] char1 = str1.toLowerCase().toCharArray();
      //Converting strings into characters array
      char[] char2 = str2.toLowerCase().toCharArray();
      //Sorting array of characters
      Arrays.sort(char1);
      //Sorting array of characters
      Arrays.sort(char2);
      //checking the equality of both Arrays
      status = Arrays.equals(char1, char2);
    }
    //Checking the status value
    if(status){
      //If status value is true
      System.out.println("STRINGS ARE ANAGRAMS");
    }else{
      //If status value is false
      System.out.println("STRINGS ARE NOT ANAGRAMS");
    }

  }
} 

Output

Enter first string: funeral
Enter second string: real fun
STRINGS ARE ANAGRAMS


Java tag