I dette eksemplet vil vi sjekke om to strenger er anagram eller ikke i Java.
For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:
- Java-streng
- Java Arrays
To strenger sies å være anagram hvis vi kan danne en streng ved å ordne tegnene til en annen streng. For eksempel Race and Care . Her kan vi danne Race ved å ordne karakterene til Care.
Eksempel 1: Java-program for å sjekke om to strenger er anagrammer
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."); ) ) )
Produksjon
Java og Vaaj er anagram.
I Java har vi to strenger som heter str1 og str2. Her sjekker vi om str1 og str2 er anagrammer.
Her,
- str1.toCharArray () - konverterer strengen til en char-array
- Arrays.sort () - sorterer begge røyeoppstillingene
- Arrays.equal () - sjekker om den sorterte rutenettet er lik
Hvis sorterte matriser er like, er strengene anagram.
Merk : Her er eksemplet store og små bokstaver. Det vil si at Java og Java ikke er anagrammer. Det er fordi de Arrays.sort()
sammenligner to tegn med ASCII-verdi. Og ASCII-verdien til J og j er forskjellige.
Eksempel 2: Ta strenginnganger fra brukere og sjekk om strengene er 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(); ) )
Produksjon
Enter first String: Race Enter second String: Care Race and Care er anagram.
I eksemplet ovenfor har vi brukt skannerklassen til å ta input fra brukeren. Her sjekket vi om strengene som tilbys av brukerne er anagram.