Java program za preverjanje, ali sta dva niza anagrama

V tem primeru bomo preverili, ali sta dva niza anagrama ali ne v Javi.

Če želite razumeti ta primer, morate poznati naslednje programske teme Java:

  • Java Java
  • Java nizi

Dva niza naj bi bila anagram, če lahko en niz tvorimo tako, da razporedimo znake drugega niza. Na primer, dirka in nega . Tu lahko oblikujemo dirko z razporeditvijo likov Care.

Primer 1: Program Java za preverjanje, ali sta dva niza anagrama

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

Izhod

 Java in Vaaj sta anagrama.

V Javi imamo dva niza z imenom str1 in str2. Tu preverjamo, ali sta str1 in str2 anagrama.

Tukaj,

  • str1.toCharArray () - pretvori niz v matriko char
  • Arrays.sort () - razvrsti oba polja char
  • Arrays.equal () - preveri, ali je razvrščeno polje char enako

Če so razvrščeni nizi enaki, so nizi anagram.

Opomba : Tu je primer občutljiv na velike in male črke. To pomeni, da Java in java nista anagrama. To je zato, ker Arrays.sort()primerja dva znaka z vrednostjo ASCII. Vrednosti ASCII J in j se razlikujejo.

Primer 2: Vzemite vnose nizov od uporabnikov in preverite, ali so nizi anagramski

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

Izhod

 Enter first String: Race Enter drugi niz: Care Race in Care sta anagrama.

V zgornjem primeru smo uporabili razred Scanner, da uporabnik vnese podatke. Tu smo preverili, ali so nizi, ki jih zagotavljajo uporabniki, anagramski.

Zanimive Članki...