import java.util.*;
class TwoCanSum
{
	public static void main(String args[])
	{
	
	// Create Scanner object
	Scanner s=new Scanner(System.in);
	
	// Take no.of elements
	System.out.println("Enter the no.of elements");
	int n=s.nextInt();
	// Create an array of size n
	int[] a=new int[n];
	// Read the array
	System.out.println("Enter the elements");
		for(int i=0;i<n;i++)
		{
		a[i]=s.nextInt();
		}
	// Enter the target number
	System.out.println("Enter the target number");
	int target=s.nextInt();
	
	// Check whether any two can sum
	ArrayList<String> list=canSum(a,target);
	// Get the size, don't call in loop
	int size=list.size();
		// Print the elements
		for(int i=0;i<size;i++)
		{
		System.out.println(list.get(i));
		}
	
	}
	public static ArrayList<String> canSum(int[] a,int target)
	{
	ArrayList<String> list=new ArrayList<String>();
		for(int i=0;i<a.length;i++)
		{
			for(int j=i+1;j<a.length;j++)
			{
			 if(a[i]+a[j]==target) list.add(a[i]+"+"+a[j]+"= "+target);
			}
		}
	return list;
	}
}
Sample output of the program
Enter the no.of elements
5
Enter the elements
9
6
7
2
8
Enter the target number
15
9+6= 15
7+8= 15
Explaining the logic of TwoCanSum
ArrayList<String> list=new ArrayList<String>(); Create an ArrayList<String>.
for(int i=0;i<a.length;i++) Loop a.length times where a is the array given as parameter. This loop gets the element at i.
for(int j=i+1;j<a.length;j++) The value of j will be i+1 and this loop is rotated until j equals a.length. When j equals length of the array, the loop breaks. This loop gets every element other than the element at i.
if(a[i]+a[j]==target) Check whether the element at index i and the element at index j sum up to give the target number. Enter the if block if this condition is satisfied else skip if-block.
list.add(a[i]+"+"+a[j]+"= "+target); Add the string which contains the value of the elements which can be summed to the target along with the target number preceded by an =.
Consider 5 elements, then the elements are checked for sum like,
a[0] checked with a[1],a[2],a[3],a[4]
a[1] checked with a[2],a[3],a[4]
......
return list; Returns the array list.
In this way, we can check whether two elements in an array can be summed to give the target number.