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!!!

Các kiểu dữ liệu trong C ( int - float - double - char ...)
Thuật toán tìm ước chung lớn nhất trong C/C++
Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
ComboBox - ListBox trong lập trình C# winforms
Random trong Python: Tạo số random ngẫu nhiên
Lệnh cin và cout trong C++
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng