Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để kiểm tra xem hai chuỗi có đảo chữ không

Trong bài viết này, chúng ta sẽ hiểu cách kiểm tra xem hai chuỗi có đảo chữ hay không. Đảo ngữ là một từ hoặc cụm từ được hình thành bằng cách sắp xếp lại các chữ cái của một từ khác nhau. Một người dùng nhập hai chuỗi. Chúng ta cần đếm số lần mỗi chữ cái ('a' đến 'z') xuất hiện trong chúng và sau đó, so sánh số lượng tương ứng của chúng. Tần suất của một bảng chữ cái trong một chuỗi là bao nhiêu lần nó xuất hiện trong đó. Nếu hai chuỗi có cùng số lượng tần số của bảng chữ cái cụ thể thì chúng ta có thể nói hai chuỗi đó là đảo chữ.

Dưới đây là một minh chứng về điều tương tự -

Đầu vào

Giả sử đầu vào của chúng tôi là -

Enter the first string : Race
Enter the second string : Care

Đầu ra

Đầu ra mong muốn sẽ là -

The strings race and care are anagram.

Thuật toán

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

Ví dụ 1

Ở đây, đầu vào đang được người dùng nhập dựa trên lời nhắc. Bạn có thể thử ví dụ này trực tiếp trong công cụ nền tảng mã hóa của chúng tôi Chương trình Java để kiểm tra xem hai chuỗi có đảo chữ không .

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.");
      }
   }
}

Đầu ra

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.

Ví dụ 2

Ở đây, số nguyên đã được xác định trước đó và giá trị của nó được truy cập và hiển thị trên bảng điều khiển.

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.");
      }
   }
}

Đầu ra

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