I am trying to create a random array without duplicates.
The assignment is to take an integer array and maximum value from user, fills the array with random numbers between 0 and maximum value, and display random array without duplicates, WITHOUT using any other classes except random and scanner.
This is a sample output:
Please enter the size of the array: 10
Please enter the maximum value: 50
[39,2,17,49,12,19,40,31,42,15]
I need help in removing the duplicates. I am not sure if what I am doing is correct, I am a bit of a beginner but here is what I have so far. Help would be greatly appreciated. Thanks.
public class Fill {
    private static int size;
    private static int maxVal;
    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        // Ask user to enter the size of the array
        System.out.print("Please enter the size of the array: ");
        size = kb.nextInt();
        // Ask user to enter the maximum value allowed
        System.out.print("Please enter the maximum value: ");
        maxVal = kb.nextInt();
        // Call fill() method
        int arr[] = fill(size, maxVal);
        // Print filled array
        System.out.print("[");
        for (int i = 0; i < arr.length - 1; i++)
            System.out.print(arr[i] + ",");
        System.out.print(arr[arr.length - 1] + "]");
    }
    public static int[] fill(int size, int maxVal) {
        int arr[] = new int[size];
        Random random = new Random();
        // Fills the array with random numbers between 0 and maximum value
        if (size <= 0 || maxVal < size - 1) {
            System.out.print("Incorrect Parameters. Please Retry");
            main(null);
        } else {
            for (int j = 0; j < size; j++) {
                arr[j] = random.nextInt(maxVal);
                // Check array for duplicates
                for (int k = j + 1; k < size; k++) {
                    if(arr[j] == arr[k]) {
                        //create new random array
                        fill(size, maxVal);
                    }
                }
            }
        }
        return arr;
    }
}
 
    