Ett enkelt sätt att implementera Anagram-programmet i Java



Den här artikeln ger dig en detaljerad och omfattande kunskap om hur du implementerar anagram-programmet i java med exempel.

Underverk kan göras med strängar, särskilt i Java. I den här artikeln kommer vi att se hur man implementerar Anagram-programmet i Java i följande ordning:

Vad är ett anagram?

Ett Anagram är ett ord som bildas genom att ordna om eller blanda bokstäver i ett annat ord, den viktigaste egenskapen i Anagram är att alla bokstäver bara måste användas en gång. Låt oss till exempel ta det populära anagrammet, LYSSNA är ett anagram över TYST .





Anagram-Program-in-Java

I detta Anagram-program i Java kommer vi att undersöka några av de möjliga sätten att kontrollera om två strängar är Anagram eller inte.



skillnad mellan kast och kast

Anagram-program i Java med hjälp av sorteringsmetoder () och lika ()

Först rengör vi ingången genom att ta bort alla vita blanksteg från de givna två strängarna och ändra bokstaven för alla tecken i båda strängarna till små bokstäver så att fallet för båda inmatningssträngarna ignoreras. Efter rengöring av inmatningssträngarna konverterar vi dem till teckenuppsättning och sorterar dem med sort () metod av java.util.Arrays-klassen.

Efter sortering jämför vi båda matriserna med equals () -metoden av samma Array-klass. Denna metod kommer att vara sant om båda matriserna har samma uppsättning tecken. Nedan följer det kompletta anagramprogrammet med sorteringsmetoder () och lika ().

public class AnagramProgram {static void isAnagram (String s1, String s2) {// Ta bort alla vita blanksteg från s1 och s2 String copyOfs1 = s1.replaceAll ('s', '') String copyOfs2 = s2.replaceAll ('s', '') // Initialt ställa in status som sann boolesk status = sant om (copyOfs1.length ()! = CopyOfs2.length ()) {// Ställa in status som falskt om copyOfs1 och copyOfs2 inte har samma längdstatus = false) annat {// Ändra fallet för tecken för både copyOfs1 och copyOfs2 och konvertera dem till char array char [] s1Array = copyOfs1.toLowerCase (). toCharArray () char [] s2Array = copyOfs2.toLowerCase (). toCharArray () // Sortera både s1Array och s2Array Arrays.sort (s1Array) Arrays.sort (s2Array) // Kontrollerar om s1Array och s2Array är lika status = Arrays.equals (s1Array, s2Array)} // Output if (status) {System.out.println (s1 + 'och' + s2 + 'är anagram')} annat {System.out.println (s1 + 'och' + s2 + 'är inte anagram')}} offentlig statisk ogiltig huvud (String [] args) {isAnagram ('Mother I lag ',' Hitler Woman ') isAnagram ('keEp', 'peeK') ärAnagram ('SiLeNt CAT', 'LisTen AcT') ärAnagram ('Debet Card', 'Bad Credit') ärAnagram ('School MASTER', 'The ClassROOM') ärAnagram ('DORMITORY ',' Dirty Room ') ärAnagram (' ASTRONOMERS ',' NO MORE STARS ') ärAnagram (' Toss ',' Shot ') ärAnagram (' joy ',' enjoy ')}}

anagram-program-in-java



typ av transformation i informatica

Kontrollera om två strängar är anagram med Array

Detta är den enklaste av alla metoder. Efter att ha fått strängarna från användaren och vi måste först ta bort alla de vitt utrymme och konvertera dem in i små bokstäver för en icke-skiftlägeskänslig jämförelse. Konvertera dem nu till en teckenuppsättning och sortera dem alfabetiskt . Bara jämföra båda matriserna har samma element .

paket com.javainterviewpoint import java.util.Arrays import java.util.Scanner public class AnagramChecker {public static void main (String [] args) {Scanner scanner = new Scanner (System.in) // Få inmatningssträngen från användaren 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 + 'och' + s2 + 'är anagram)' annars System.out.println (s1 + 'och' + s2 + 'är INTE anagram') scanner.close ()} offentlig statisk boolesk checkAnagram ( Sträng s1, Sträng s2) {// Ta bort allt vitt utrymme s1 = s1.replaceAll ('s', '') s2 = s2.replaceAll ('s', '') // Kontrollera om båda längden matchar om (s1 .length ()! = s2.length ()) returnerar falskt annat {// Konvertera båda strängarna till gemener och till Character Array char [] arr1 = s1.toLowerCase (). toCharArray () char [] arr2 = s2.toLowerCase () .toCharArray () // Sortera båda Character Array Arrays.sort (arr1) Arrays.sort (arr2) // Kontrollera om båda matriserna är lika avkastning (Arrays.equals (arr1, arr2))}}}
anagram-program-in-java

Med detta kommer vi till slutet av detta Anagram-program i Java-artikeln. Jag hoppas att du förstår vad exakt ett anagram är och hur man skriver ett anagramprogram på Java.

företag som använder r programmeringsspråk

Kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för studenter och yrkesverksamma som vill bli Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna “Anagram-program i Java” -bloggen så återkommer vi så snart som möjligt.