Java programma, lai pārbaudītu, vai divas virknes ir anagrammas

Šajā piemērā mēs pārbaudīsim, vai divas virknes ir anagrammas vai nav Java.

Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:

  • Java virkne
  • Java masīvi

Divas virknes tiek uzskatītas par anagrammu, ja mēs varam izveidot vienu virkni, sakārtojot citas virknes rakstzīmes. Piemēram, Race and Care . Šeit mēs varam izveidot Race, sakārtojot Care rakstzīmes.

1. piemērs: Java programma, lai pārbaudītu, vai divas virknes ir anagrammas

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

Rezultāts

 Java un Vaaj ir anagramma.

Java valodā mums ir divas virknes ar nosaukumu str1 un str2. Šeit mēs pārbaudām, vai str1 un str2 ir anagrammas.

Šeit,

  • str1.toCharArray () - pārveido virkni par char masīvu
  • Arrays.sort () - sašķiro abus char masīvus
  • Arrays.equal () - pārbauda, ​​vai sakārtotais char masīvs ir vienāds

Ja sakārtotie masīvi ir vienādi, virknes ir anagrammas.

Piezīme . Šeit piemērs ir reģistrjutīgs. Tas ir, Java un Java nav anagrammas. Tas ir tāpēc, ka Arrays.sort()salīdzina divas rakstzīmes ar ASCII vērtību. J un j ASCII vērtība ir atšķirīga.

2. piemērs: Paņemiet no lietotājiem virkņu ievades un pārbaudiet, vai virknes ir anagrammas

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

Rezultāts

 Ievadiet pirmo virkni: Race Ievadiet otro virkni: Care Race un Care ir anagramma.

Iepriekš minētajā piemērā mēs izmantojām skenera klasi, lai ņemtu ievadi no lietotāja. Šeit mēs pārbaudījām, vai lietotāju nodrošinātās virknes ir anagrammas.

Interesanti raksti...