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.