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

Tutoriales básicos de Java

Control de flujo Java

Java arrays

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Cola (Queue)

conjuntos Java Map

conjuntos Java Set

Java Entrada Salida (I/O)

Reader de Java/Writer

otros temas de Java

un programa Java para verificar si dos cadenas son anagramas (mismo orden de letras, diferente secuencia)

Java 实例大全

en este ejemplo, verificaremos si dos cadenas en Java son anagramas (anagramas de letras), que es una nueva palabra formada cambiando el orden de las letras de una palabra o frase.

si podemos formar una cadena mediante el reordenamiento de los caracteres de otra cadena, decimos que las dos cadenas son acertijos. Por ejemplo,Race con Care.Aquí, podemos rearranjar las letras Care para formar la palabra Race.

ejemplo1un programa Java para verificar si dos cadenas son anagramas

import java.util.Arrays;
class Main {
  public static void main(String[] args) {
    String str1 = "Java";
    String str2 = "Vaaj";
    //verificar si la longitud es la misma
    if(str1.length() == str2.length()) {
      //convertir la cadena en un arreglo de caracteres
      char[] charArray1 = str1.toCharArray();
      char[] charArray2 = str2.toCharArray();
      //Arrays.sort()
      Arrays.sort(charArray1);
      Arrays.sort(charArray2);
      //ordenar el arreglo de caracteres
      //si los arreglos de caracteres ordenados son iguales
      boolean result = Arrays.equals(charArray1, charArray2);
      if(result) {
        System.out.println(str1 + " y " + str2 + "es un anagrama de letras.");
      }
      else {
        System.out.println(str1 + " y " + str2 + "No es un anagrama de letras.");
      }
    }
  }
}

Resultados de salida

entonces la cadena es un anagrama

Java y Vaaj son anagramas de letras1y str2en Java, tenemos dos nombres de str1y str2si las cadenas de letras tienen el mismo número de letras pero en una secuencia diferente.

aquí,

  • str1.toCharArray() - Convertir la cadena a un array de caracteres

  • Arrays.sort() - ordenar dos arreglos de caracteres

  • Arrays.equal() - verificar si los arreglos de caracteres ordenados son iguales

si los arreglos ordenados son iguales, las cadenas son anagramas (anagramas de letras).

ejemplo2obtener cadenas de entrada del usuario y verificar si son anagramas

import java.util.Arrays;
import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    //crear un objeto de la clase Scanner
    Scanner input = new Scanner(System.in);
    //aceptar la entrada del usuario
    System.out.print("Ingrese la primera cadena: ");
    String str1 = input.nextLine();
    System.out.print("Ingrese la segunda cadena: ");
    String str2 = input.nextLine();
    //verificar si la longitud es la misma
    if(str1.length() == str2.length()) {
      //Convertir la cadena a un array de caracteres
      char[] charArray1 = str1.toCharArray();
      char[] charArray2 = str2.toCharArray();
      //Ordenar el array de caracteres
      Arrays.sort(charArray1);
      Arrays.sort(charArray2);
      //Si los arrays de caracteres ordenados son iguales
      //Entonces la cadena es un anagrama de letras
      boolean result = Arrays.equals(charArray1, charArray2);
      if(result) {
        System.out.println(str1 + " y " + str2 + "es un anagrama de letras.");
      }
      else {
        System.out.println(str1 + " y " + str2 + "No es un anagrama de letras.");
      }
    }
    input.close();
  }
}

Resultados de salida

Ingrese la primera cadena: Race
Ingrese la segunda cadena: Care
Race y Care son anagramas de letras

En el ejemplo anterior, usamosScannerLa clase obtiene la entrada del usuario. Aquí, verificamos si la cadena proporcionada por el usuario es un anagrama de letras.

Java 实例大全