Java-Programm zum Überprüfen, ob zwei Zeichenfolgen Anagramm sind

In diesem Beispiel prüfen wir, ob zwei Zeichenfolgen in Java Anagramm sind oder nicht.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:

  • Java String
  • Java-Arrays

Zwei Zeichenfolgen werden als Anagramm bezeichnet, wenn wir eine Zeichenfolge bilden können, indem wir die Zeichen einer anderen Zeichenfolge anordnen. Zum Beispiel Race and Care . Hier können wir Race bilden, indem wir die Charaktere von Care arrangieren.

Beispiel 1: Java-Programm zum Überprüfen, ob zwei Zeichenfolgen Anagramme sind

 import java.util.Arrays; class Main ( public static void main(String() args) ( String str1 = "java"; String str2 = "vaaj"; // check if length is same if(str1.length() == str2.length()) ( // convert strings to char array char() charArray1 = str1.toCharArray(); char() charArray2 = str2.toCharArray(); // sort the char array Arrays.sort(charArray1); Arrays.sort(charArray2); // if sorted char arrays are same // then the string is anagram boolean result = Arrays.equals(charArray1, charArray2); if(result) ( System.out.println(str1 + " and " + str2 + " are anagram."); ) else ( System.out.println(str1 + " and " + str2 + " are not anagram."); ) ) else ( System.out.println(str1 + " and " + str2 + " are not anagram."); ) ) )

Ausgabe

 Java und Vaaj sind Anagramme.

In Java haben wir zwei Zeichenfolgen mit den Namen str1 und str2. Hier prüfen wir, ob str1 und str2 Anagramme sind.

Hier,

  • str1.toCharArray () - konvertiert den String in ein char-Array
  • Arrays.sort () - sortiert beide char-Arrays
  • Arrays.equal () - prüft, ob das sortierte char-Array gleich ist

Wenn sortierte Arrays gleich sind, sind die Zeichenfolgen Anagramme.

Hinweis : In diesem Beispiel wird zwischen Groß- und Kleinschreibung unterschieden. Das heißt, Java und Java sind keine Anagramme. Dies liegt daran, dass Arrays.sort()zwei Zeichen mit dem ASCII-Wert verglichen werden. Und die ASCII-Werte von J und j sind unterschiedlich.

Beispiel 2: Nehmen Sie Zeichenfolgeneingaben von Benutzern und prüfen Sie, ob die Zeichenfolgen Anagramme sind

 import java.util.Arrays; import java.util.Scanner; class Main ( public static void main(String() args) ( // create an object of Scanner class Scanner input = new Scanner(System.in); // take input from users System.out.print("Enter first String: "); String str1 = input.nextLine(); System.out.print("Enter second String: "); String str2 = input.nextLine(); // check if length is same if(str1.length() == str2.length()) ( // convert strings to char array char() charArray1 = str1.toCharArray(); char() charArray2 = str2.toCharArray(); // sort the char array Arrays.sort(charArray1); Arrays.sort(charArray2); // if sorted char arrays are same // then the string is anagram boolean result = Arrays.equals(charArray1, charArray2); if(result) ( System.out.println(str1 + " and " + str2 + " are anagram."); ) else ( System.out.println(str1 + " and " + str2 + " are not anagram."); ) ) else ( System.out.println(str1 + " and " + str2 + " are not anagram."); ) input.close(); ) )

Ausgabe

 Geben Sie die erste Zeichenfolge ein: Race Geben Sie die zweite Zeichenfolge ein: Care Race und Care sind Anagramme.

Im obigen Beispiel haben wir die Scannerklasse verwendet, um Eingaben vom Benutzer zu erhalten. Hier haben wir überprüft, ob die von Benutzern bereitgestellten Zeichenfolgen Anagramme sind.

Interessante Beiträge...