Nhập dãy số bất kỳ từ bàn phím và in ra số không trùng nhau

Theo như tiêu đề ạ :smiley: các bác gợi ý cho em với.
Theo như em được biết thì dùng mảng không được hay sao ý :frowning: em newbie ạ.

dùng set interface nha

1 Like

Tại sao lại không dùng mảng được?
Cái mình nghĩ đến đầu tiên khi đọc đề là mảng đấy.

Bác có thể gợi ý đc không ạ

Interface em chưa học ạ

chưa học thì bây h học bạn ơi

Giết gà bằng dao mổ trâu là không nên :joy: Người ta mới học đi chưa vững đã lôi interface vào để rối lên à.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main
{
    private static Scanner scanner = new Scanner(System.in);
    public static void main(String... args)
    {
        System.out.print("input size: ");
        int[] inputArray = new int[scanner.nextInt()];
        for(int i = 0; i < inputArray.length; i += 1)
        {
            System.out.print("inputArray[" + i + "]: ");
            inputArray[i] = scanner.nextInt();
        }
        System.out.println("List distinct number");

        //Method 1:
        Arrays.stream(inputArray).distinct().forEach(x -> System.out.print(x + ", "));

        //Method 2:
        ArrayList<Integer> listDistinct = new ArrayList<>();
        for(int x : inputArray)
            if(!listDistinct.contains(x))
                listDistinct.add(x);
        for(int x : listDistinct)
            System.out.print(x + ", ");

        //Method 3:
        Arrays.sort(inputArray);
        for(int i = 0; i < inputArray.length - 1; i += 1)
            if(inputArray[i] != inputArray[i + 1])
                System.out.print(inputArray[i] + ", ");
        System.out.print(inputArray[inputArray.length - 1]);
    }
}
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?