Để in 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); } }
Kết quả
The common characters between the two strings in alphabetical order is : aaeilmpsst
Lớp Demo chứa hàm common_chars, khai báo hai mảng integer kích thước 26 (26 chữ cái Anh). Độ dài lưu trong hai biến.
Mảng lặp qua và tại chỉ số hiệu số ASCII của a và ASCII mỗi ký tự, ASCII của a trừ từ ASCII mỗi ký tự và tăng 1. Chỉ điền giá trị chung trong mảng. Số lượng ký tự tối thiểu từ cả hai mảng tính và in ra console. Trong main, hai chuỗi định nghĩa, hàm gọi với hai chuỗi tham số.