Escribir un método al que se le pasan dos arrays de la misma longitud con cantidades enteras. El método retornará un ArrayList de strings conteniendo la suma de las cantidades enteras situadas en las casillas del mismo índice. Cada string será la concatenación de las dos cantidades del mismo índice y del resultado de su suma con el formato que se indica en este ejemplo. Por ejemplo, si los arrays de los que se parte son:
{1,4,5,2}
{3,5,7,6}
El ArrayList retornado contendrá los siguientes strings:
{"1+3=4", "4+5=9", "5+7=12", "2+6=8"}
La cabecera del método será:
public static ArrayList<String> componerLista(int[] a, int[] b)
Este es mi enunciado, yo he hecho esto:
Código Java:
Ver originalpublic static ArrayList<String> componerLista(int[] a, int[] b)
{
ArrayList <String
> listaSuma
=new ArrayList
<String
>(); if (a.length==b.length)
{
for (int i=0; i<=a.length; i++)
{
int valA=a[i];
int valB=b[i];
int suma=valA+valB;
listaSuma.add(""+valA+"+"+valB+"="+suma+"");
return listaSuma;
}
}
return null;
}
Pero solo hago el recorrido si los dos Arrays a y b son iguales.
Queria saber dos cosas:
1.- Como hacerlo para arrays de distinta longitud, es decir poner un else si, pero entonces tengo la segunda duda
2.- En algun momento un array se acabará entonces mi variable valA (suponiedo que es el array a el mas pequeño) pasará a valer null? y siendo asi como pongo un for para que llegue solo hasta el array mas pequeño sin tener que calcularlo manualmente es decir, obtener las longitudes y hacer un if con los posibles casos a>b, a<b o a=b.
Gracias!