diff --git a/src/ereditarieta/ereditarieta.java b/src/ereditarieta/ereditarieta.java index baa0852..ecf71ba 100644 --- a/src/ereditarieta/ereditarieta.java +++ b/src/ereditarieta/ereditarieta.java @@ -149,7 +149,7 @@ public class ereditarieta { static Persona[] InserisciPersone(Persona[] p_persone) { Persona ritorno[] = null; int numeroPersone = 0; - boolean error; + boolean error, arrayNuovo; String nome; String cognome; String sesso; @@ -183,8 +183,10 @@ public class ereditarieta { if (p_persone == null) { ritorno = new Persona[numeroPersone]; + arrayNuovo = true; } else { ritorno = Arrays.copyOf(p_persone, p_persone.length + numeroPersone, p_persone.getClass()); + arrayNuovo = false; } for (int i = 0; i < numeroPersone; i++) { @@ -213,7 +215,7 @@ public class ereditarieta { try { switch (professione) { case "nessuna": - ritorno[i] = new Persona(nome, cognome, sesso, età); + ritorno[arrayNuovo ? i : p_persone.length + i] = new Persona(nome, cognome, sesso, età); error = false; System.out.println("Persona inserita con successo."); break; @@ -223,7 +225,7 @@ public class ereditarieta { System.out.print("Inserire l'indirizzo di studio: "); indirizzoDiStudio = sc.nextLine(); - ritorno[i] = new Studente(nome, cognome, sesso, età, classe, indirizzoDiStudio); + ritorno[arrayNuovo ? i : p_persone.length + i] = new Studente(nome, cognome, sesso, età, classe, indirizzoDiStudio); error = false; System.out.println("Studente inserito con successo."); break; @@ -233,7 +235,7 @@ public class ereditarieta { System.out.print("Inserire il numero di maglia: "); numeroMaglia = sc.nextLine(); - ritorno[i] = new Calciatore(nome, cognome, sesso, età, squadra, numeroMaglia); + ritorno[arrayNuovo ? i : p_persone.length + i] = new Calciatore(nome, cognome, sesso, età, squadra, numeroMaglia); error = false; System.out.println("Calciatore inserito con successo."); break; @@ -243,7 +245,7 @@ public class ereditarieta { System.out.print("Inserire l'handle: "); handle = sc.nextLine(); - ritorno[i] = new Influencer(nome, cognome, sesso, età, numeroFollower, handle); + ritorno[arrayNuovo ? i : p_persone.length + i] = new Influencer(nome, cognome, sesso, età, numeroFollower, handle); error = false; System.out.println("Influencer inserito con successo."); break;