Java program za provjeru jesu li dva niza anagram

U ovom ćemo primjeru provjeriti jesu li dva niza anagram ili ne u Javi.

Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:

  • Java String
  • Java nizovi

Kažu da su dvije žice anagram ako jedan niz možemo oblikovati slaganjem znakova drugog niza. Na primjer, utrka i briga . Ovdje možemo formirati utrku raspoređivanjem likova njege.

Primjer 1: Java program za provjeru jesu li dva niza anagrami

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

Izlaz

 Java i Vaaj su anagram.

U Javi imamo dva niza pod nazivom str1 i str2. Ovdje provjeravamo jesu li str1 i str2 anagrami.

Ovdje,

  • str1.toCharArray () - pretvara niz u niz znakova
  • Arrays.sort () - sortira oba polja char
  • Arrays.equal () - provjerava jesu li razvrstani nizovi znakova jednaki

Ako su razvrstani nizovi jednaki, tada su nizovi anagram.

Napomena : Ovdje primjer razlikuje velika i mala slova. Odnosno, Java i java nisu anagrami. To je zato što Arrays.sort()uspoređuje dva znaka s ASCII vrijednošću. ASCII vrijednosti J i j su različite.

Primjer 2: Uzmite unose nizova od korisnika i provjerite jesu li nizovi 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(); ) )

Izlaz

 Unesite prvi niz: utrka Unesite drugi niz: utrka i njega njege su anagram.

U gornjem primjeru koristili smo klasu Scanner da bismo uzeli podatke od korisnika. Ovdje smo provjerili jesu li nizovi koje pružaju korisnici anagram.

Zanimljivi članci...