English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriais Básicos de Java

Controle de fluxo Java

Java arrays

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Tratamento de Exceção Java

Java Lista (List)

Java Fila (Queue)

Java Mapa (Map)

Java Conjunto (Set)

Java Entrada / Saída (I/O)

Java Reader/Writer

temas Java outros

Programa Java para verificar se duas strings são anagramas (mesmas letras em ordem diferente)

Exemplos completos de Java

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

exemplo1:Programa Java para verificar se duas strings são anagramas

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

exemplo2:obter entrada de string do usuário e verificar se 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.

Exemplos completos de Java