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)

Rispondi quotando
Non ha molto senso..
