Program Java untuk Memeriksa apakah dua string adalah anagram

Dalam contoh ini, kami akan memeriksa apakah dua string adalah anagram atau tidak di Java.

Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:

  • String Java
  • Array Jawa

Dua string dikatakan anagram jika kita dapat membentuk satu string dengan menyusun karakter string lain. Misalnya Race and Care . Disini kita bisa membentuk Race dengan mengatur karakter Care.

Contoh 1: Program Java untuk memeriksa apakah dua string adalah anagram

 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."); ) ) )

Keluaran

 Java dan Vaaj adalah anagram.

Di Jawa, kami memiliki dua string bernama str1 dan str2. Di sini, kami memeriksa apakah str1 dan str2 adalah anagram.

Sini,

  • str1.toCharArray () - mengubah string menjadi array karakter
  • Arrays.sort () - mengurutkan kedua array karakter
  • Arrays.equal () - memeriksa apakah array karakter yang diurutkan sama

Jika array yang diurutkan sama, maka stringnya adalah anagram.

Catatan : Di sini, contohnya peka huruf besar-kecil. Artinya, Java dan java bukanlah anagram. Itu karena Arrays.sort()membandingkan dua karakter dengan nilai ASCII. Dan, nilai ASCII dari J dan j berbeda.

Contoh 2: Ambil input string dari pengguna dan periksa apakah string itu anagram

 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(); ) )

Keluaran

 Masukkan Senar pertama: Balapan Masukkan Senar kedua: Perawatan Ras dan Perawatan adalah anagram.

Dalam contoh di atas, kami telah menggunakan kelas Scanner untuk mengambil input dari pengguna. Di sini, kami memeriksa apakah string yang disediakan oleh pengguna adalah anagram.

Artikel yang menarik...