Java
 Computer >> コンピューター >  >> プログラミング >> Java

2つの文字列がアナグラムであるかどうかを確認するJavaプログラム


この記事では、2つの文字列がアナグラムであるかどうかを確認する方法を理解します。アナグラムは、別の単語の文字を並べ替えることによって形成される単語またはフレーズです。ユーザーは2つの文字列を入力します。各文字(「a」から「z」)がそれらに現れる回数を数え、次にそれらの対応する数を比較する必要があります。文字列内のアルファベットの頻度は、文字列に出現する回数です。 2つの文字列の特定のアルファベットの頻度が同じである場合、それらの2つの文字列はアナグラムであると言えます。

以下は同じのデモンストレーションです-

入力

入力が-

であると仮定します
Enter the first string : Race
Enter the second string : Care

出力

必要な出力は-

になります
The strings race and care are anagram.

アルゴリズム

Step 1 - START
Step 2 - Declare two string values namely my_string_1, my_string_2
Step 3 - Read the required values from the user/ define the values
Step 4 - Convert both the strings to lower case letters using toLowerCase() function
Step 5 - Check if the length of the two strings are same, if not, they are not anagram strings.
Step 6 - Assign the strings to character arrays and sort them.
Step 7 - Use the function ‘equals()’ to check if they are equal. If yes, they are anagram strings, else they are not anagram strings.
Step 8 - Display the result
Step 9 - Stop

例1

ここでは、プロンプトに基づいてユーザーが入力を入力しています。この例は、コーディンググラウンドツールでライブで試すことができます 2つの文字列がアナグラムであるかどうかを確認するJavaプログラム

import java.util.Scanner;
import java.util.Arrays;
public class Main {
   public static void main(String[] args) {
      System.out.println("Required packages have been imported");
      String my_string_1, my_string_2;
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("A reader object has been defined ");
      System.out.print("Enter the first string : ");
      my_string_1 = my_scanner.nextLine();
      System.out.print("Enter the second string : ");
      my_string_2 = my_scanner.nextLine();
      my_string_1 = my_string_1.toLowerCase();
      my_string_2 = my_string_2.toLowerCase();
      if(my_string_1.length() == my_string_2.length()) {
         char[] my_array_1 = my_string_1.toCharArray();
         char[] my_array_2 = my_string_2.toCharArray();
         Arrays.sort(my_array_1);
         Arrays.sort(my_array_2);
         boolean my_result = Arrays.equals(my_array_1, my_array_2);
         if(my_result) {
            System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are anagram.");
         } else {
            System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are not anagram.");
         }
      } else {
         System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are not anagram.");
      }
   }
}

出力

Required packages have been imported
A reader object has been defined
Enter the first string : Race
Enter the second string : Care
The strings race and care are anagram.

例2

ここでは、整数は事前に定義されており、その値にアクセスしてコンソールに表示されます。

import java.util.Arrays;
   public class Main {
      public static void main(String[] args) {
         System.out.println("Required packages have been imported");
         String my_string_1, my_string_2;
         my_string_1 = "Race";
         my_string_2 = "Care";
         System.out.println("The two strings are defined as " +my_string_1 +" and " + my_string_2);
         my_string_1 = my_string_1.toLowerCase();
         my_string_2 = my_string_2.toLowerCase();
         if(my_string_1.length() == my_string_2.length()) {
            char[] my_array_1 = my_string_1.toCharArray();
            char[] my_array_2 = my_string_2.toCharArray();
            Arrays.sort(my_array_1);
            Arrays.sort(my_array_2);
            boolean my_result = Arrays.equals(my_array_1, my_array_2);
            if(my_result) {
               System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are anagram.");
            } else {
               System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are not anagram.");
            }
         } else {
         System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are not anagram.");
      }
   }
}

出力

Required packages have been imported
The two strings are defined as Race and Care
The strings race and care are anagram.

  1. Pythonで2つの文字列が0または1編集距離離れているかどうかをチェックするプログラム

    2つの文字列SとTがあり、それらが編集距離が1か0かどうかを確認する必要があるとします。編集操作は、文字の削除、文字の追加、または文字を別の文字に置き換えることとして定義できます。 したがって、入力がS =hello、T =halloの場合、これら2つの文字列の編集距離は1であるため、出力はTrueになります。 これを解決するには、次の手順に従います- m:=Sのサイズ、n:=Tのサイズ i:=0、j:=0 count:=0 1、次に Falseを返す i

  2. 2つの数値の2進表現がアナグラムであるかどうかをチェックするPythonプログラム。

    与えられた2つの数字。私たちの仕事は、それらがバイナリ表現でお互いのアナグラムであるかどうかを確認することです。カウンター(反復可能)メソッドと辞書比較を使用して、Pythonでこの問題をすばやく解決できます。 例 Input: a = 8, b = 16 Output : Yes Binary representations of both numbers have same 0s and 1s. アルゴリズム Step 1 : Given two numbers. Step 2 : Convert both number into its binary using bin() fu