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) { static Persona[] InserisciPersone(Persona[] p_persone) {
Persona ritorno[] = null; Persona ritorno[] = null;
int numeroPersone = 0; int numeroPersone = 0;
boolean error; boolean error, arrayNuovo;
String nome; String nome;
String cognome; String cognome;
String sesso; String sesso;
@ -183,8 +183,10 @@ public class ereditarieta {
if (p_persone == null) { if (p_persone == null) {
ritorno = new Persona[numeroPersone]; ritorno = new Persona[numeroPersone];
arrayNuovo = true;
} else { } else {
ritorno = Arrays.copyOf(p_persone, p_persone.length + numeroPersone, p_persone.getClass()); ritorno = Arrays.copyOf(p_persone, p_persone.length + numeroPersone, p_persone.getClass());
arrayNuovo = false;
} }
for (int i = 0; i < numeroPersone; i++) { for (int i = 0; i < numeroPersone; i++) {
@ -213,7 +215,7 @@ public class ereditarieta {
try { try {
switch (professione) { switch (professione) {
case "nessuna": 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; error = false;
System.out.println("Persona inserita con successo."); System.out.println("Persona inserita con successo.");
break; break;
@ -223,7 +225,7 @@ public class ereditarieta {
System.out.print("Inserire l'indirizzo di studio: "); System.out.print("Inserire l'indirizzo di studio: ");
indirizzoDiStudio = sc.nextLine(); 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; error = false;
System.out.println("Studente inserito con successo."); System.out.println("Studente inserito con successo.");
break; break;
@ -233,7 +235,7 @@ public class ereditarieta {
System.out.print("Inserire il numero di maglia: "); System.out.print("Inserire il numero di maglia: ");
numeroMaglia = sc.nextLine(); 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; error = false;
System.out.println("Calciatore inserito con successo."); System.out.println("Calciatore inserito con successo.");
break; break;
@ -243,7 +245,7 @@ public class ereditarieta {
System.out.print("Inserire l'handle: "); System.out.print("Inserire l'handle: ");
handle = sc.nextLine(); 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; error = false;
System.out.println("Influencer inserito con successo."); System.out.println("Influencer inserito con successo.");
break; break;