Een gemakkelijke manier om Anagram Program in Java te implementeren



Dit artikel zal je voorzien van een gedetailleerde en uitgebreide kennis over hoe je het anagramprogramma in Java kunt implementeren met voorbeelden.

Wonderen kunnen worden gedaan met Strings, vooral in Java. In dit artikel zullen we zien hoe we het Anagram-programma in Java kunnen implementeren in de volgende volgorde:

Wat is een anagram?

Een Anagram is een woord dat wordt gevormd door letters in een ander woord te herschikken of te schudden, de belangrijkste eigenschap in anagram is dat alle letters maar één keer hoeven te worden gebruikt. Laten we bijvoorbeeld het populaire anagram nemen, LUISTER is een anagram van STIL .





Anagram-Program-in-Java

In dit Anagram-programma in Java zullen we enkele van de mogelijke manieren bekijken om te controleren of twee strings anagram zijn of niet.



Anagram-programma in Java met behulp van sort () en equals () -methoden

Eerst schonen we de invoer op door alle spaties van de opgegeven twee strings te verwijderen en het hoofdlettergebruik van alle tekens van beide strings in kleine letters te veranderen, zodat het hoofdlettergebruik van beide invoertekenreeksen wordt genegeerd. Na het opschonen van de invoertekenreeksen, converteren we ze naar een tekenreeks en sorteren we ze met sort () methode van de klasse java.util.Arrays.

Na het sorteren vergelijken we beide arrays met equals () methode van dezelfde Array-klasse. Deze methode retourneert true als beide arrays dezelfde set tekens hebben. Hieronder ziet u het complete anagramprogramma dat de methoden sort () en equals () gebruikt.

public class AnagramProgram {static void isAnagram (String s1, String s2) {// Alle witruimten verwijderen uit s1 en s2 String copyOfs1 = s1.replaceAll ('s', '') String copyOfs2 = s2.replaceAll ('s', '') // Status aanvankelijk instellen als true booleaanse status = true if (copyOfs1.length ()! = CopyOfs2.length ()) {// Status instellen als false als copyOfs1 en copyOfs2 niet dezelfde lengte hebben status = false} else {// De hoofdletters en kleine letters van zowel copyOfs1 als copyOfs2 veranderen en ze converteren naar char-array char [] s1Array = copyOfs1.toLowerCase (). toCharArray () char [] s2Array = copyOfs2.toLowerCase (). toCharArray () // Sorteren van zowel s1Array als s2Array Arrays.sort (s1Array) Arrays.sort (s2Array) // Controleren of s1Array en s2Array dezelfde status hebben = Arrays.equals (s1Array, s2Array)} // Output if (status) {System.out.println (s1 + 'en' + s2 + 'zijn anagrammen')} else {System.out.println (s1 + 'en' + s2 + 'zijn geen anagrammen')}} public static void main (String [] args) {isAnagram ('Mother In Law ',' Hitler Woman ') isAnagram ('keEp', 'peeK') isAnagram ('SiLeNt CAT', 'LisTen AcT') isAnagram ('Debit Card', 'Bad Credit') isAnagram ('School MASTER', 'The ClassROOM') isAnagram ('DORMITORY ',' Dirty Room ') isAnagram (' ASTRONOMERS ',' NO MORE STARS ') isAnagram (' Toss ',' Shot ') isAnagram (' joy ',' enjoy ')}}

anagram-program-in-java



Controleer of twee strings anagrammen zijn met behulp van array

Dit is de eenvoudigste van alle methoden. Nadat we de snaren van de gebruiker hebben gekregen, moeten we eerst Verwijder alles de witte ruimte en converteren ze in de kleine letters voor een niet-hoofdlettergevoelige vergelijking. Zet ze nu om in een tekenreeks en soort hen alfabetisch . Alleen maar vergelijken beide arrays hebben de dezelfde elementen .

pakket com.javainterviewpoint import java.util.Arrays import java.util.Scanner public class AnagramChecker {public static void main (String [] args) {Scanner scanner = nieuwe scanner (System.in) // De invoerstring ophalen van de gebruiker 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 + 'en' + s2 + 'zijn anagrammen') else System.out.println (s1 + 'en' + s2 + 'zijn GEEN anagrammen') scanner.close ()} openbare statische booleaanse checkAnagram ( String s1, String s2) {// Verwijder alle witruimte s1 = s1.replaceAll ('s', '') s2 = s2.replaceAll ('s', '') // Controleer of beide lengtes overeenkomen met if (s1 .length ()! = s2.length ()) return false else {// Converteer beide strings naar kleine letters en naar Character Array char [] arr1 = s1.toLowerCase (). toCharArray () char [] arr2 = s2.toLowerCase () .toCharArray () // Sorteer beide Character Array Arrays.sort (arr1) Arrays.sort (arr2) // Controleer of beide arrays zijn gelijk rendement (Arrays.equals (arr1, arr2))}}}
anagram-program-in-java

Hiermee komen we aan het einde van dit Anagram-programma in Java-artikel. Ik hoop dat je begrijpt wat een anagram precies is en hoe je een anagramprogramma in Java schrijft.

system.exit (1) java

Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De training- en certificeringcursus Java J2EE en SOA van Edureka is bedoeld voor studenten en professionals die Java-ontwikkelaar willen worden. De cursus is bedoeld om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het alstublieft in de commentarensectie van dit “Anagram Program in Java” blog en we nemen zo snel mogelijk contact met u op.