Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

두 개의 문자열이 아나그램인지 확인하는 Java 프로그램

<시간/>

이 기사에서는 두 문자열이 아나그램인지 확인하는 방법을 이해합니다. 아나그램은 다른 단어의 문자를 재배열하여 형성된 단어 또는 구입니다. 사용자가 두 개의 문자열을 입력합니다. 각 문자('a'에서 'z'까지)가 몇 번 나타나는지 계산한 다음 해당 개수를 비교해야 합니다. 문자열에서 알파벳의 빈도는 문자열에 나타나는 횟수입니다. 두 문자열의 특정 알파벳 빈도수가 같으면 이 두 문자열을 아나그램이라고 할 수 있습니다.

아래는 동일한 데모입니다 -

입력

입력이 -

라고 가정합니다.
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

여기에서 입력은 프롬프트에 따라 사용자가 입력하고 있습니다. 코딩 기반 도구에서 이 예제를 라이브로 사용해 볼 수 있습니다. 두 개의 문자열이 아나그램인지 확인하는 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.