Sum_Of_Two_Arrays

package ArrayList;

import java.util.*;

public class SumOfTwoArrays {

public static void main(String[] args) {
	//Array1
	System.out.println("Enter N");
	Scanner sc=new Scanner(System.in);
	int N=sc.nextInt();
	System.out.println("Enter List1");
	ArrayList<Integer> List1=new ArrayList<>();
	for(int i=0;i<List1.size();i++)
	{
		int a=sc.nextInt();
		List1.add(a);
	}
	System.out.print(List1+" ");
	System.out.println();
	//Array
	System.out.println("Enter M");
	int M=sc.nextInt();
	System.out.println("Enter List2");
	ArrayList<Integer> List2=new ArrayList<>(M);
	for(int i=0;i<List2.size();i++)
	{
		int b=sc.nextInt();
		List2.add(b);
	}
	System.out.print(List2+" ");
	ArrayList<Integer> ListSum=(SumOfTwoArraysList(List1,List2));
	for(int i=0;i<=ListSum.size();i++)
	{
		System.out.print(ListSum.get(i)+",");
	}
	    System.out.println("END");
}
public static ArrayList<Integer> SumOfTwoArraysList(ArrayList<Integer> List1,ArrayList<Integer> List2)
{
	ArrayList<Integer> ListSum=new ArrayList<>();
	int i=List1.size()-1;
	int j=List2.size()-1;
	
	int carry=0;
	while(i>=0||j>=0)
	{
		int sum=0;
		if(i>=0)
		{
			sum=List1.get(i);
			i--;
		}
		if(j>=0)
		{
			sum=List2.get(i);
			j--;
		}
		sum+=carry;
		ListSum.add(sum%10);
		carry=sum/10;
	}
	   if(carry>0)
		   ListSum.add(carry);
	   
	   return ListSum;
	
}



//got error...array out of bound...please resolve

}

@himanshimittal42_845cf80099683334 change i <= listSum.size() to i < listSum.size();

I hope I’ve cleared your doubt. I ask you to please rate your experience here
Your feedback is very important. It helps us improve our platform and hence provide you
the learning experience you deserve.

On the off chance, you still have some questions or not find the answers satisfactory, you may reopen
the doubt.