suma de arreglos de diferente tamaño

info_01
11 de Junio del 2006
tengo un problema con una aplicacion q trata de realizar un metodo para sumar vectores, pero si son de diferente tamaño se debe completar primero el menor con ceros y luego realizar la suma chancando los valores en otro vector resultado, yo lo he hecho de la sgt manera, cuando compilo me sale todo bacan, proceso completo pero al ejecutar me sale error, ya no se q hacer.
ahi va el codigo.

class Ejercicio415{
int[]A,B,C;
int n1,n2,a;
public Ejercicio415(){
System.out.println("Ingresar tamaño del primer arreglo");
n1=Leer.datoInt();
A=new int[n1];
System.out.println("Ingresar tamaño del segundo arreglo");
n2=Leer.datoInt();
B=new int[n2];
if(n1<n2)
C=new int[n2];
else
C=new int[n1];
a=0;
}
public void Leer(){
for(int i=0;i<n1;i++){
System.out.println("Ingresar elemento"+" "+(i+1));
A[i]=Leer.datoInt();
}
for(int i=0;i<n2;i++){
System.out.println("Ingresar elemento"+" "+(i+1));
B[i]=Leer.datoInt();
}

}
public void Imprimir(){
System.out.println("Los vectores ingresados son");
for(int i=0;i<n1;i++){
if(i==0)
System.out.print("["+A[i]+",");
else if(i==n1-1)
System.out.println(A[i]+"]");
else
System.out.print(A[i]+",");
}
for(int i=0;i<n2;i++){
if(i==0)
System.out.print("["+B[i]+",");
else if(i==n2-1)
System.out.println(B[i]+"]");
else
System.out.print(B[i]+",");
}
}
public void Suma(){
if(n1<n2){
for(int i=0;i<n1;i++){
C[i]=A[i]+B[i];
}
for(int i=n1;i<n2;i++){
A[n1]=a;
C[i]=A[i]+B[i];
n1++;
}
}
else if(n1>n2){
for(int i=0;i<n2;i++){
C[i]=A[i]+B[i];
}
for(int i=n2;i<n1;i++){
B[i]=a;
C[i]=A[i]+B[i];
}
}
else if(n1==n2){
for(int i=0;i<n1;i++){
C[i]=A[i]+B[i];
}
}

}
public void Respuesta(){
if(n1<n2){
for(int i=0;i<n2;i++){
if(i==0)
System.out.print("["+C[i]+",");
else if(i==n2-1)
System.out.println(C[i]+"]");
else
System.out.print(C[i]+",");
}
}
else
for(int i=0;i<n1;i++){
if(i==0)
System.out.print("["+C[i]+",");
else if(i==n1-1)
System.out.println(C[i]+"]");
else
System.out.print(C[i]+",");
}



}
public static void main(String[]a){
Ejercicio415 elem=new Ejercicio415();
elem.Leer();
elem.Imprimir();
elem.Suma();
elem.Respuesta();
}
}