Java: Nhập vào 10 số nguyên rồi loại bỏ những giá trị trùng lặp


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Video hướng dẫn:

Bài viết hướng dẫn:

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);
        }
    }
}
» Tiếp: Xóa những phần tử trùng nhau
« Trước: Cách dùng ArrayList và viết chương trình dạng Menu
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!