Program Java untuk memeriksa sama ada dua tali adalah anagram

Dalam contoh ini, kita akan memeriksa sama ada dua rentetan adalah anagram atau tidak di Java.

Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan Java berikut:

  • Rentetan Java
  • Susunan Java

Dua tali dikatakan anagram jika kita dapat membentuk satu rentetan dengan menyusun watak rentetan yang lain. Contohnya, Perlumbaan dan Penjagaan . Di sini, kita dapat membentuk Race dengan menyusun watak Care.

Contoh 1: Program Java untuk memeriksa apakah dua rentetan 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."); ) ) )

Pengeluaran

 Java dan Vaaj adalah anagram.

Di Jawa, kita mempunyai dua rentetan bernama str1 dan str2. Di sini, kami memeriksa sama ada str1 dan str2 adalah anagram.

Di sini,

  • str1.toCharArray () - menukar rentetan menjadi array char
  • Arrays.sort () - menyusun kedua array char
  • Arrays.equal () - memeriksa sama ada array char yang disusun sama

Sekiranya susunan yang disusun adalah sama, maka rentetan adalah anagram.

Nota : Di sini, contohnya peka huruf besar kecil. Maksudnya, Java dan java bukan anagram. Ini kerana Arrays.sort()membandingkan dua watak dengan nilai ASCII. Dan, nilai ASCII J dan j adalah berbeza.

Contoh 2: Ambil input rentetan dari pengguna dan periksa apakah rentetan itu adalah 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(); ) )

Pengeluaran

 Masukkan String pertama: Race Masukkan String kedua: Race dan Penjagaan Care adalah anagram.

Dalam contoh di atas, kami telah menggunakan kelas Scanner untuk mengambil input daripada pengguna. Di sini, kami memeriksa apakah rentetan yang diberikan oleh pengguna adalah anagram.

Artikel menarik...