BUGFIX: Inserimento di uno o più elementi extra dopo la creazione dell'array

This commit is contained in:
La Programmatrice Verde 2025-10-17 21:08:33 +02:00
parent cb8c67abfb
commit a962f97656

View File

@ -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;