Maravilhas podem ser feitas com Strings, especialmente em Java. Neste artigo, veremos como implementar o programa Anagram em Java na seguinte ordem:
- O que é um anagrama?
- Programa de anagramas em Java usando métodos sort () e equals ()
- Verifique se Duas Strings São Anagramas Usando Array
O que é um anagrama?
A Anagrama é uma palavra que é formada pela reorganização ou mistura de letras em outra palavra, a propriedade mais importante no anagrama é que todas as letras devem ser usadas apenas uma vez. Por exemplo, vamos pegar o popular anagrama, OUÇO é um anagrama de SILENCIOSO .
Neste programa de anagramas em Java, examinaremos algumas das maneiras possíveis de verificar se duas strings são anagramas ou não.
Programa de anagramas em Java usando métodos sort () e equals ()
Primeiro, limpamos a entrada removendo todos os espaços em branco das duas strings fornecidas e alteramos a caixa de todos os caracteres de ambas as strings para minúsculas, de modo que a caixa de ambas as strings de entrada seja ignorada. Depois de limpar as strings de entrada, nós as convertemos em matriz de caracteres e as classificamos usando método sort () da classe java.util.Arrays.
como criar pacote em java
Após a classificação, comparamos as duas matrizes usando método equals () da mesma classe Array. Este método retornará verdadeiro se ambas as matrizes tiverem o mesmo conjunto de caracteres. Abaixo está o programa completo de anagramas usando os métodos sort () e equals ().
public class AnagramProgram {static void isAnagram (String s1, String s2) {// Removendo todos os espaços em branco de s1 e s2 String copyOfs1 = s1.replaceAll ('s', '') String copyOfs2 = s2.replaceAll ('s', '') // Definindo inicialmente o status como true boolean status = true if (copyOfs1.length ()! = CopyOfs2.length ()) {// Definindo o status como falso se copyOfs1 e copyOfs2 não tiverem o mesmo comprimento status = false} else {// Alterar a capitalização dos caracteres de copyOfs1 e copyOfs2 e convertê-los em matriz char char [] s1Array = copyOfs1.toLowerCase (). toCharArray () char [] s2Array = copyOfs2.toLowerCase (). toCharArray () // Classificando s1Array e s2Array Arrays.sort (s1Array) Arrays.sort (s2Array) // Verificar se s1Array e s2Array são iguais status = Arrays.equals (s1Array, s2Array)} // Saída if (status) {System.out.println (s1 + 'e' + s2 + 'são anagramas')} else {System.out.println (s1 + 'e' + s2 + 'não são anagramas')}} public static void main (String [] args) {isAnagram ('Mother In Law ',' Mulher Hitler ') isAnagram ('keEp', 'peeK') isAnagram ('SiLeNt CAT', 'LisTen AcT') isAnagram ('Cartão de débito', 'Crédito ruim') isAnagram ('School MASTER', 'The ClassROOM') isAnagram ('DORMITÓRIO ',' Sala Suja ') isAnagram (' ASTRONOMERS ',' NO MORE STARS ') isAnagram (' Toss ',' Shot ') isAnagram (' joy ',' enjoy ')}}
java quando usar isso
Verifique se Duas Strings São Anagramas Usando Array
Este é o mais simples de todos os métodos. Depois de obter as strings do usuário, precisamos primeiro deletar tudo a espaço em branco e converter eles no minúsculas para uma comparação sem distinção entre maiúsculas e minúsculas. Agora converta-os em um matriz de caracteres e ordenar eles alfabeticamente . Somente comparar ambas as matrizes têm o mesmos elementos .
pacote 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) // Obtendo a string de entrada do usuário System.out.print ('Digite a primeira string:') String s1 = scanner.nextLine () System.out.print ('Digite a segunda string:') String s2 = scanner.nextLine () if (checkAnagram (s1, s2)) System.out.println (s1 + 'e' + s2 + 'são anagramas') else System.out.println (s1 + 'e' + s2 + 'NÃO são anagramas') scanner.close ()} public static boolean checkAnagram ( String s1, String s2) {// Remova todos os espaços em branco s1 = s1.replaceAll ('s', '') s2 = s2.replaceAll ('s', '') // Verifique se ambos os comprimentos correspondem a if (s1 .length ()! = s2.length ()) return false else {// Converte ambas as strings em minúsculas e em array de caracteres char [] arr1 = s1.toLowerCase (). toCharArray () char [] arr2 = s2.toLowerCase () .toCharArray () // Classifica a matriz de caracteres Arrays.sort (arr1) Arrays.sort (arr2) // Verifique se ambas as matrizes têm o mesmo retorno (Arrays.equals (arr1, arr2))}}}
Com isso, chegamos ao fim deste artigo do Programa de Anagramas em Java. Espero que você tenha entendido o que exatamente é um anagrama e como escrever um programa de anagrama em Java.
Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso de certificação e treinamento Java J2EE e SOA da Edureka é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java. O curso foi elaborado para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com várias estruturas Java como Hibernate e Spring.
Tem alguma questão para nós? Mencione isso na seção de comentários deste blog “Anagram Program in Java” e entraremos em contato com você o mais breve possível.