Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java tìm tất cả khớp gần của chuỗi đầu vào từ danh sách


Để tìm tất cả khớp gần của chuỗi đầu vào từ danh sách, mã Java như sau:

Ví dụ

import java.io.*; import java.util.*; public class Demo{    static String string_encoding(String str){       HashMap<Character, Integer> my_map = new HashMap<>();       String result = "";       int i = 0;       char ch;       for (int j = 0; j < str.length(); j++) {          ch = str.charAt(j);          if (!my_map.containsKey(ch))          my_map.put(ch, i++);          result += my_map.get(ch);       }       return result;    }    static void match_words( String[] my_arr, String my_pattern){       int len = my_pattern.length();       String hash_val = string_encoding(my_pattern);       for (String word : my_arr){          if (word.length() == len && string_encoding(word).equals(hash_val))          System.out.print(word + " ");       }    }    public static void main(String args[]){       String[] my_arr = { "mno", "aabb", "pqr", "xxyy", "mmnn" };       String my_pattern = "ddcc";       System.out.println("The patterns similar to ddcc in the array are :");       match_words(my_arr, my_pattern);    } }

Kết quả

The patterns similar to ddcc in the array are : aabb xxyy mmnn

Lớp Demo chứa hàm string_encoding. Hàm tạo hashmap, lặp qua chuỗi kiểm tra pattern khớp chuỗi vấn đề.

Hàm match_words gọi string_encoding kiểm tra khớp trong mảng với pattern chuỗi tham chiếu. Nếu tìm thấy, từ trả về. Trong main, mảng chuỗi định nghĩa cùng pattern. match_words gọi trên pattern. Đầu ra hiển thị.