Java: Xóa những phần tử trùng nhau
Giải phóng thời gian, khai phóng năng lực
1. Video hướng dẫn xóa phần tử trùng nhau:
2. Bài viết hướng dẫn xóa phần tử trùng nhau:
package nhap10songuyenvaxoagiatritrung; import java.util.Scanner; public class XuLyGiaTriTrungLap { public static void main(String[] args) { //Bài toán: Hãy viết chương trình nhập vào 10 số nguyên, sau đó loại bỏ những giá trị trùng lặp. int[] mangNguyen = new int[10]; Scanner scanner = new Scanner(System.in); System.out.println("Mời bạn nhập vào 10 số nguyên bất kỳ:"); for (int i = 0; i < mangNguyen.length; i++) { System.out.printf("Phần tử thứ %d: ", i + 1); mangNguyen[i] = scanner.nextInt(); } //Tiến hành loại bỏ những giá trị trùng lặp: int[] trungGian = new int[10];//tạo 1 mảng trung gian boolean timThay;//tạo 1 biến để tìm đánh dấu tìm thấy giá trị giống nhau int count = 0;//tạo biến để đếm số lượng giá trị khác nhau được đưa vào mảng trungGian trungGian[0] = mangNguyen[0];//ban đầu đưa giá trị đầu tiên của mảng vào trungGian count++;//và đếm được 1 giá trị được đưa vào trungGian for (int i = 1; i < mangNguyen.length; i++) {//lấy từng giá trị ra timThay = false;//mỗi khi kiểm tra sự giống nhau thì cần set timThay thành false for (int j = 0; j < count; j++) {//rồi lấy từng giá trị trong trungGian ra để so sánh với giá trị mangNguyen[i] if (trungGian[j] == mangNguyen[i]) {//nếu giống nhau thì timThay = true;//thì lật trạng thái tìm thấy thành true break;//và thoát khỏi for trong không cần tìm thêm nữa } } if (!timThay) {//nếu giá trị mangNguyen[i] khác so với các giá trị trungGian[j], trungGian[count] = mangNguyen[i];//thì đưa giá trị mangNguyen[i] sang trungGian count++;//và đếm lên 1 } } //In thử kết quả: //for(int i=0; i<count; i++){ // System.out.println(trungGian[i]); //} //=>Vậy là trong mảng trungGian chỉ chứa những giá trị khác nhau //Bây giờ cần chuyển trở lại mảng mangNguyen: mangNguyen = new int[count];//khai báo lại kích thước cho mangNguyen for (int i = 0; i < mangNguyen.length; i++) {//rồi tiến hành chuyển ngược trở lại các giá trị cho mangNguyen mangNguyen[i] = trungGian[i]; } //In ra kết quả: System.out.println("Sau khi loại bỏ những giá trị giống nhau, ta được:"); for (int i : mangNguyen) { System.out.println(i); } } }
Giải phóng thời gian, khai phóng năng lực