Java programm, et kontrollida, kas kaks stringi on anagrammid

Selles näites kontrollime, kas kaks stringi on Java-s anagrammid või mitte.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:

  • Java string
  • Java massiivid

Kahe stringi kohta öeldakse, et see on anagramm, kui suudame ühe stringi moodustada teise stringi tähemärke korrastades. Näiteks Race and Care . Siin saame moodustada Race'i, seades Care'i tegelased.

Näide 1: Java-programm, et kontrollida, kas kaks stringi on anagrammid

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

Väljund

 Java ja Vaaj on anagrammid.

Javas on meil kaks stringi nimega str1 ja str2. Siin kontrollime, kas str1 ja str2 on anagrammid.

Siin,

  • str1.toCharArray () - teisendab stringi char-massiiviks
  • Arrays.sort () - sorteerib mõlemad sümbolid
  • Arrays.equal () - kontrollib, kas sorteeritud sümboli massiiv on võrdne

Kui sorteeritud massiivid on võrdsed, on stringid anagrammid.

Märkus . Siin on näide tõstutundlik. See tähendab, et Java ja java pole anagrammid. Selle põhjuseks on asjaolu, et Arrays.sort()võrreldakse kahte tähemärki ASCII väärtusega. Ja J ja j ASCII väärtus on erinev.

Näide 2: võtke kasutajatelt stringisisendid ja kontrollige, kas stringid on anagrammid

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

Väljund

 Sisestage esimene string: võistlus Sisestage teine ​​string: hooldusvõistlus ja hooldus on anagrammid.

Ülaltoodud näites oleme kasutanud kasutajalt sisendi saamiseks klassi Scanner. Siin kontrollisime, kas kasutajate pakutavad stringid on anagrammid.

Huvitavad Artiklid...