Dovevo risolvere un problema di fusione di due array.
Il metodo credo sia giusto, ma ricevo un errore in console
codice:
public class FusioneArray
{
static void fondi(int[] uno, int[] due, int[] ris)
{
int indUno = 0;
int indDue = 0;
int indRis = 0;
boolean prendiUno;
do
{
if (indUno == uno.length)
prendiUno = false;
else if (indDue == due.length)
prendiUno = true;
else
{
if (uno[indUno] <= due[indDue])
prendiUno = true;
else
prendiUno = false;
}
if (prendiUno == true)
{
ris[indRis] = uno[indUno];
indUno++;
}
else
{
ris[indRis] = due[indDue];
indDue++;
}
indRis++;
}while(indRis < ris.length);
}
public static void main(String[]args)
{
int[] primo = {3,4,21,45,67,89,98,123};
int[] sec = {0,3,13,34,56,234};
int[] fusione = new int[primo.length * sec.length];
fondi(primo, sec, fusione);
for (int i = 0; i < fusione.length; i++)
System.out.print(fusione[i] + "\t");
}
}
Ricevo il seguente errore...
C:\WINDOWS\SYSTEM32>java FusioneArray
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at FusioneArray.fondi(FusioneArray.java:30)
at FusioneArray.main(FusioneArray.java:44)