Check below code:
import java.util.Arrays;
public class SumOfPairs
{
public static void main(String[] args)
{
int[] numbers = { 4, 3, 5, 7, 8, 9, 1, 2 };
int[] numbersWithDuplicates = { 1, 2, 4, 3, 5, 6, -2, 4, 7, 8, 9, 1, 2 };
printPairs(numbers, 8);
printPairs(numbersWithDuplicates, 8);
}
public static void printPairs(int[] givenArray, int givenSum)
{
System.out.println("Given Array: " + Arrays.toString(givenArray));
System.out.println("Given Sum : " + givenSum);
System.out.println("Integer numbers, whose sum is equal to : " + givenSum);
for (int i = 0; i < givenArray.length; i++)
{
int first = givenArray[i];
for (int j = i + 1; j < givenArray.length; j++)
{
int second = givenArray[j];
if ((first + second) == givenSum)
{
System.out.printf("(%d, %d) %n", first, second);
}
}
}
System.out.println();
}
}
Output - 1
Given Array: [4, 3, 5, 7, 8, 9, 1, 2]
Given Sum : 8
Integer numbers, whose sum is equal to : 8
(3, 5)
(7, 1)
Output - 2
Given Array: [1, 2, 4, 3, 5, 6, -2, 4, 7, 8, 9, 1, 2]
Given Sum : 8
Integer numbers, whose sum is equal to : 8
(1, 7)
(2, 6)
(4, 4)
(3, 5)
(6, 2)
(7, 1)