En nem måde at implementere Anagram-programmet på Java



Denne artikel vil give dig en detaljeret og omfattende viden om, hvordan du implementerer anagram-programmet i java med eksempler.

Vidundere kan gøres med strenge, især i Java. I denne artikel vil vi se, hvordan du implementerer Anagram-programmet i Java i følgende rækkefølge:

hvordan man bruger scanner i java

Hvad er et anagram?

An Anagram er et ord, der er dannet ved at omarrangere eller blande bogstaver i et andet ord, den vigtigste egenskab i Anagram er, at alle bogstaverne kun skal bruges én gang. Lad os f.eks. Tage det populære anagram, HØR EFTER er et anagram over STILLE .





Anagram-Program-in-Java

I dette Anagram-program i Java vil vi se på nogle af de mulige måder at kontrollere, om to strenge er Anagram eller ikke.



Anagram-program i Java ved hjælp af sorteringsmetoder () og er lig med ()

Først renser vi input ved at fjerne alle hvide mellemrum fra de givne to strenge og ændre tilfældet for alle tegn i begge strengene til små bogstaver, så tilfældet med begge inputstrenge ignoreres. Efter rengøring af inputstrengene konverterer vi dem til tegnarray og sorterer dem ved hjælp af sorter () metode af java.util.Arrays klasse.

Efter sortering sammenligner vi begge arrays ved hjælp af lig () metode af samme Array-klasse. Denne metode vil være sand, hvis begge arrays har det samme sæt tegn. Nedenfor er det komplette anagram-program ved hjælp af sorterings () og lig () metoder.

offentlig klasse AnagramProgram {statisk tomrum erAnagram (String s1, String s2) {// Fjernelse af alle hvide mellemrum fra s1 og s2 String copyOfs1 = s1.replaceAll ('s', '') String copyOfs2 = s2.replaceAll ('s', '') // Indstiller oprindeligt status som ægte boolsk status = sand hvis (copyOfs1.length ()! = CopyOfs2.length ()) {// Indstilling af status som falsk, hvis copyOfs1 og copyOfs2 ikke har samme længdestatus = false) ellers {// Ændring af tegn på både copyOfs1 og copyOfs2 og konvertering til char array char [] s1Array = copyOfs1.toLowerCase (). toCharArray () char [] s2Array = copyOfs2.toLowerCase (). toCharArray () // Sortering af både s1Array og s2Array Arrays.sort (s1Array) Arrays.sort (s2Array) // Kontrollerer, om s1Array og s2Array er ens status = Arrays.equals (s1Array, s2Array)} // Output if (status) {System.out.println (s1 + 'og' + s2 + 'er anagrammer')} ellers {System.out.println (s1 + 'og' + s2 + 'er ikke anagrammer')}} offentlig statisk ugyldig hoved (String [] args) {isAnagram ('Mother I loven ',' Hitler Woman ') isAnagram ('keEp', 'peeK') erAnagram ('SiLeNt CAT', 'LisTen AcT') erAnagram ('Debit Card', 'Bad Credit') erAnagram ('School MASTER', 'The ClassROOM') erAnagram ('DORMITORY ',' Dirty Room ') erAnagram (' ASTRONOMERS ',' NO MORE STARS ') erAnagram (' Toss ',' Shot ') erAnagram (' joy ',' enjoy ')}}

anagram-program-in-java



Kontroller, om to strenge er anagrammer ved hjælp af Array

Dette er den enkleste af alle metoder. Efter at have fået strengene fra brugeren, og vi skal først Fjern alt det hvidt rum og konvertere dem ind i små bogstaver til en ikke-sagsfølsom sammenligning. Konverter dem nu til en karakter array og sortere dem alfabetisk . Lige sammenligne begge arrays har de samme elementer .

pakke com.javainterviewpoint import java.util.Arrays import java.util.Scanner public class AnagramChecker {public static void main (String [] args) {Scannerscanner = ny Scanner (System.in) // Få inputstrengen fra brugeren System.out.print ('Enter the First String:') String s1 = scanner.nextLine () System.out.print ('Enter the second String:') String s2 = scanner.nextLine () if (checkAnagram (s1, s2)) System.out.println (s1 + 'og' + s2 + 'er anagrammer') ellers System.out.println (s1 + 'og' + s2 + 'er IKKE anagrammer') scanner.close ()} offentlig statisk boolsk checkAnagram ( Streng s1, Streng s2) {// Fjern al det hvide mellemrum s1 = s1.replaceAll ('s', '') s2 = s2.replaceAll ('s', '') // Kontroller, om begge længder stemmer overens, hvis (s1 .length ()! = s2.length ()) returnerer falsk andet {// Konverter begge strenge til små bogstaver og til Character Array char [] arr1 = s1.toLowerCase (). toCharArray () char [] arr2 = s2.toLowerCase () .toCharArray () // Sorter begge tegnarrayarrays.sort (arr1) Arrays.sort (arr2) // Kontroller, om begge arrays er lige store (Arrays.equals (arr1, arr2))}}
anagram-program-in-java

Med dette kommer vi til slutningen af ​​dette Anagram-program i Java-artiklen. Jeg håber, du fik en forståelse af, hvad der præcist er et anagram, og hvordan man skriver et anagram-program i Java.

Tjek af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til studerende og fagfolk, der ønsker at være Java-udvikler. Kurset er designet til at give dig et forspring i Java-programmering og træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige Java-rammer som Hibernate & Spring.

Har du et spørgsmål til os? Nævn det i kommentarfeltet på denne 'Anagram-program i Java' -blog, og vi vender tilbage til dig hurtigst muligt.