Snadný způsob implementace programu Anagram v Javě



Tento článek vám poskytne podrobné a komplexní znalosti o tom, jak implementovat anagramový program v javě s příklady.

S řetězci lze dělat zázraky, zejména v Javě. V tomto článku uvidíme, jak implementovat program Anagram v Javě v následujícím pořadí:

Co je to přesmyčka?

An Anagram je slovo, které je tvořeno přeskupením nebo zamícháním písmen v jiném slově, nejdůležitější vlastností v Anagramu je, že všechna písmena musí být použita pouze jednou. Vezměme si například populární anagram, POSLOUCHAT je anagram uživatele TICHÝ .





řetězec k převodu data v java

Anagram-Program-in-Java

V tomto programu Anagram v Javě se podíváme na některé z možných způsobů, jak zkontrolovat, zda jsou dva řetězce Anagram nebo Not.



Anagramový program v Javě pomocí metod sort () a equals ()

Nejprve vyčistíme vstup odstraněním všech bílých mezer z daných dvou řetězců a změníme velikost všech znaků obou řetězců na malá písmena, aby se případ obou vstupních řetězců ignoroval. Po vyčištění vstupních řetězců je převedeme na pole znaků a roztřídíme je pomocí metoda sort () třídy java.util.Arrays.

Po seřazení porovnáme obě pole pomocí metoda rovná se () stejné třídy Array. Tato metoda vrátí true, pokud mají obě pole stejnou sadu znaků. Níže je uveden kompletní anagramový program využívající metody sort () a equals ().

public class AnagramProgram {static void isAnagram (String s1, String s2) {// Odstranění všech bílých mezer z s1 a s2 String copyOfs1 = s1.replaceAll ('s', '') String copyOfs2 = s2.replaceAll ('s', '') // Původní nastavení stavu jako true boolean status = true if (copyOfs1.length ()! = CopyOfs2.length ()) {// Nastavení stavu jako false, pokud copyOfs1 a copyOfs2 nemají stejnou délku status = false} else {// Změna velikosti písmen znaků copyOfs1 a copyOfs2 a jejich převod na char pole char [] s1Array = copyOfs1.toLowerCase (). toCharArray () char [] s2Array = copyOfs2.toLowerCase (). toCharArray () // Třídění jak s1Array, tak s2Array Arrays.sort (s1Array) Arrays.sort (s2Array) // Kontrola, zda jsou s1Array a s2Array rovnocenné status = Arrays.equals (s1Array, s2Array)} // Výstup if (status) {System.out.println (s1 + 'a' + s2 + 'jsou anagramy')} else {System.out.println (s1 + 'a' + s2 + 'nejsou anagramy')}} public static void main (String [] args) {isAnagram ('Mother V právu ',' 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



Pomocí pole zkontrolujte, zda jsou dva řetězce anagramy

Toto je nejjednodušší ze všech metod. Po získání řetězců od uživatele a musíme nejprve odebrat všechny the prázdné místo a konvertovat je do malá písmena pro srovnání nerozlišující velká a malá písmena. Nyní je převeďte na pole znaků a třídit jim abecedně . Prostě porovnat obě pole mají stejné prvky .

balíček com.javainterviewpoint import java.util.Arrays import java.util.Scanner veřejná třída AnagramChecker {public static void main (String [] args) {Scanner scanner = new Scanner (System.in) // Získání vstupního řetězce od uživatele System.out.print ('Zadejte první řetězec:') Řetězec s1 = scanner.nextLine () System.out.print ('Zadejte druhý řetězec:') Řetězec s2 = scanner.nextLine () if (checkAnagram (s1, s2)) System.out.println (s1 + 'a' + s2 + 'jsou anagramy') else System.out.println (s1 + 'a' + s2 + 'NENÍ anagramy') scanner.close ()} public static boolean checkAnagram ( Řetězec s1, řetězec s2) {// Odstraňte veškerý bílý prostor s1 = s1.replaceAll ('s', '') s2 = s2.replaceAll ('s', '')) // Zkontrolujte, zda se shodují obě délky if (s1 .length ()! = s2.length ()) return false else {// Převést oba řetězce na malá písmena a na znakové pole char [] arr1 = s1.toLowerCase (). toCharArray () char [] arr2 = s2.toLowerCase () .toCharArray () // Třídit oba pole znaků Arrays.sort (arr1) Arrays.sort (arr2) // Zkontrolovat, zda obě pole jsou stejná návratnost (Arrays.equals (arr1, arr2))}}}
anagram-program-in-java

S tímto se dostáváme na konec tohoto článku Anagram Program in Java. Doufám, že jste pochopili, co přesně je anagram a jak psát anagramový program v Javě.

propojená a nepřipojená transformace v informatice

Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů rozložených po celém světě. Školicí a certifikační kurz Edureka Java J2EE a SOA je určen pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i pokročilé koncepty Javy spolu s různými rámci Java, jako je Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto blogu „Anagram Program in Java“ a my se vám ozveme co nejdříve.