Tìm các ký tự trùng lặp trong java
Trong bài này chúng ta sẽ thực hiện một chương trình tìm các ký tự trùng lặp trong một chuỗi trong java. Với bài tập này sẽ giúp các bạn năm rõ hơn về String và cách sử dụng String trong java.
Các bài tập về String thật sự khó vì vậy các bạn hãy tìm hiểu kĩ về nó trước khi bắt đầu thực hành các bài tập. Khi các bạn hiểu rõ và làm được các bài tập basic thì các bạn sẽ nắm chắc được kiến thức để làm các bài tập phức tạp hơn.
Chương trình tìm các ký tự trùng lặp trong java
Ở chương trình này chúng ta sẽ có một phương thức tìm kiếm các ký tự trùng lặp là timKiem(). sau đó sẽ viết hàm main() và gọi phương thức này ra để tìm kiếm.
import java.util.HashMap; import java.util.Map; import java.util.Set; public class TimKiemKyTu { public void timKiem(String str) { //Tạo một HashMap Map<Character, Integer> map = new HashMap<Character, Integer>(); //Chuyển đổi chuỗi thành mảng char char[] chars = str.toCharArray(); /* * char được chèn dưới dạng khóa và * được tính là giá trị. Nếu map đã chứa char * rồi thì hãy tăng giá trị lên 1. * */ for (Character ch : chars) { if (map.containsKey(ch)) { map.put(ch, map.get(ch) + 1); } else { map.put(ch, 1); } } //lấy key ra Set<Character> keys = map.keySet(); /* Hiển thị số lượng ký tự nếu nó là lớn hơn 1. Tất cả các ký tự trùng lặp sẽ có giá trị lớn hơn 1. */ for (Character ch : keys) { if (map.get(ch) > 1) { System.out.println("Char " + ch + " " + map.get(ch)); } } } public static void main(String a[]) { TimKiemKyTu obj = new TimKiemKyTu(); System.out.println("String: Chao Cac Ban !!!"); System.out.println("-------------------------"); obj.timKiem("Chao Cac Ban !!!"); System.out.println("\nString: Bai Tap Java Ve String"); System.out.println("-------------------------"); obj.timKiem("Bai Tap Java Ve String"); System.out.println("\nString: #@$@!#$%!!%@"); System.out.println("-------------------------"); obj.timKiem("#@$@!#$%!!%@"); } }
Kết quả:
Bài viết này được đăng tại [free tuts .net]
Vậy là chương tình đã thực hiện xong công việc tìm kiếm các ký tự trùng nhau trong một chuỗi. Chúc các bạn thực hiện thành công!!!