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

Mã Java để in các ký tự chung của hai Chuỗi theo thứ tự bảng chữ cái

Để in các ký tự chung của hai chuỗi theo thứ tự bảng chữ cái, mã như sau -

Ví dụ

import java.io.*;
import java.util.*;
public class Demo{
   static void common_chars(String str_1, String str_2){
      int[] array_1 = new int[26];
      int[] array_2 = new int[26];
      int str_len_1 = str_1.length();
      int str_len_2 = str_2.length();
      for (int i = 0 ; i < str_len_1 ; i++)
      array_1[str_1.charAt(i) - 'a'] += 1;
      for (int i = 0 ; i < str_len_2 ; i++)
      array_2[str_2.charAt(i) - 'a'] += 1;
      for (int i = 0 ; i < 26 ; i++){
         if (array_1[i] != 0 && array_2[i] != 0){
            for (int j = 0 ; j < Math.min(array_1[i], array_2[i]) ; j++)
            System.out.print(((char)(i + 'a')));
         }
      }
   }
   public static void main(String[] args) throws IOException{
      String my_str_1 = "itsasample";
      String my_str_2 = "thisisasample";
      System.out.println("The common characters between the two strings in alphabetical order is :
   ");
      common_chars(my_str_1, my_str_2);
   }
}

Đầu ra

The common characters between the two strings in alphabetical order is :
aaeilmpsst

Một lớp có tên Demo chứa một hàm có tên là ‘common_chars’, khai báo hai mảng số nguyên có kích thước 26 (cho biết 26 bảng chữ cái bằng tiếng Anh). Độ dài của chúng được lưu trữ trong hai biến số khác nhau tương ứng.

Các mảng được lặp đi lặp lại và ở chỉ số khác nhau giữa ascii của 'a' và ascii của mọi ký tự, ascii của ký tự 'a' được trừ khỏi giá trị ascii của mọi ký tự và tăng thêm 1. Điều này sẽ chỉ lấp đầy những giá trị đó trong mảng chung. Số ký tự tối thiểu từ cả hai mảng được tính toán và in trên bảng điều khiển. Trong hàm main, hai chuỗi được định nghĩa và hàm được gọi bằng cách chuyển hai chuỗi này dưới dạng tham số.