English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste exemplo, verificaremos se duas strings no Java são anagramas (mesmas letras em ordem diferente), que é uma nova palavra formada ao rearranjar as letras de uma palavra ou frase
se pudermos rearranjar os caracteres de outra string para formar uma string, podemos dizer que as duas strings são palíndromos. Por exemplo,Race e Care.Aqui, podemos rearranjar as letras Care para formar a palavra Race
import java.util.Arrays; class Main { public static void main(String[] args) { String str1 = "Java"; String str2 = "Vaaj"; //verificar se o comprimento é o mesmo if(str1.length() == str2.length()) { //converter a string em um array de caracteres char[] charArray1 = str1.toCharArray(); char[] charArray2 = str2.toCharArray(); //ordenar o array de caracteres Arrays.sort(charArray1); Arrays.sort(charArray2); //se os arrays de caracteres ordenados forem iguais //então a string é um anagrama boolean result = Arrays.equals(charArray1, charArray2); if(result) { System.out.println(str1 + " e " + str2 + "É um palíndromo."); } else { System.out.println(str1 + " e " + str2 + "Não é um palíndromo."); } } } }
Resultados de saída
Java e Vaaj são anagramas
no Java, temos dois nomes str1e str2aqui, verificamos se str1e str2se os números de letras forem iguais, mas a ordem for diferente
aqui,
str1.toCharArray() - Converter a string para um array de chars
Arrays.sort() - ordenar dois arrays de caracteres
Arrays.equal() - verificar se os arrays de caracteres ordenados são iguais
se os arrays ordenados forem iguais, as strings são anagramas
import java.util.Arrays; import java.util.Scanner; class Main { public static void main(String[] args) { //criar objeto da classe Scanner Scanner input = new Scanner(System.in); //aceitar entrada do usuário System.out.print("Digite a primeira string: "); String str1 = input.nextLine(); System.out.print("Digite a segunda string: "); String str2 = input.nextLine(); //verificar se o comprimento é o mesmo if(str1.length() == str2.length()) { //Converter a string para um array de chars char[] charArray1 = str1.toCharArray(); char[] charArray2 = str2.toCharArray(); //Ordenar o array de chars Arrays.sort(charArray1); Arrays.sort(charArray2); //Se o array de chars ordenado for o mesmo //Então a string é um palíndromo boolean result = Arrays.equals(charArray1, charArray2); if(result) { System.out.println(str1 + " e " + str2 + "É um palíndromo."); } else { System.out.println(str1 + " e " + str2 + "Não é um palíndromo."); } } input.close(); } }
Resultados de saída
Insira a primeira string: Race Insira a segunda string: Care Race e Care são palíndromos
No exemplo acima, usamosScannerA classe lê a entrada do usuário. Aqui, verificamos se a string fornecida pelo usuário é um palíndromo.