Challenge problem

Can anyone tell what’s wrong in this code?

import java.util.*;

public class Main {

static Scanner scn = new Scanner(System.in);
public static void main(String args[]) {
	int N = scn.nextInt();
	if (N >= 1 && N <= 1000) {
		int[] arr = new int[N];
		arr = take_input(arr);
		int num = scn.nextInt();
		target_sum(num, arr);
	}
}
	public static int[] take_input(int[] array) {
	int i;
	for (i = 0; i < array.length; i++) {
		array[i] = scn.nextInt();
	}
	return array;
}

public static void target_sum(int n, int[] arr) {
	int i, j;
	for (i = 0; i < arr.length; i++) {
		for (j = 0; j < arr.length; j++) {
			int tmp = arr[i] + arr[j];
			int a = arr[i];
			int b = arr[j];
			if (tmp == n && arr[j] != -999) {
				arr[j] = -999;
				if (a > b) {
					System.out.println(b + " and " + a);
				} else {
					System.out.println(a + " and " + b);
				}
			}
		}
	}
}

}

Hey @VinayakSingh11111
just a change in inner for loop
for (j = i+1; j < arr.length; j++) { instead of for (j = 0; j < arr.length; j++) {