diff --git a/src/ereditarieta/ereditarieta.java b/src/ereditarieta/ereditarieta.java index 2410fe4..c4168ea 100644 --- a/src/ereditarieta/ereditarieta.java +++ b/src/ereditarieta/ereditarieta.java @@ -21,6 +21,7 @@ public class ereditarieta { public static void main(String[] args) { int scelta = -1; + Persona persone[]; do { System.out.println("Scegliere un'opzione:"); @@ -38,11 +39,11 @@ public class ereditarieta { case 0: break; case 1: - + persone = InserisciPersone(); Pausa(); break; case 2: - + MostraPersone(persone); Pausa(); break; case 3: @@ -54,8 +55,7 @@ public class ereditarieta { Pausa(); break; } - } - catch (InputMismatchException e) { + } catch (InputMismatchException e) { System.out.println("Errore: scelta non valida."); Pausa(); } @@ -66,4 +66,117 @@ public class ereditarieta { System.out.println("Premere un tasto per continuare. . ."); sc.nextLine(); } + + static Persona[] InserisciPersone() { + Persona ritorno[] = null; + int numeroPersone = 0; + boolean error; + String nome; + String cognome; + String sesso; + String età; + String professione; + String classe; + String indirizzoDiStudio; + String squadra; + String numeroMaglia; + String numeroFollower; + String handle; // il nome sui social con cui trovare l'influencer + + do { + error = true; + try { + System.out.print("Inserire il numero di persone da aggiungere: "); + numeroPersone = sc.nextInt(); + sc.nextLine(); + if (numeroPersone <= 0) { + System.out.println("Errore: è necessario inserire almeno una persona."); + Pausa(); + } else { + error = false; + } + } catch (InputMismatchException e) { + System.out.println("Errore nella lettura del numero."); + Pausa(); + } + + } while (error); + + for (int i = 0; i < numeroPersone; i++) { + System.out.print("Inserire il nome della persona: "); + nome = sc.nextLine(); + sc.nextLine(); + + System.out.print("Inserire il cognome della persona: "); + cognome = sc.nextLine(); + sc.nextLine(); + + System.out.print("Inserire il sesso: "); + sesso = sc.nextLine(); + sc.nextLine(); + + System.out.print("Inserire l'età: "); + età = sc.nextLine(); + sc.nextLine(); + + do { + error = true; + System.out.println("Opzioni ammesse:"); + System.out.println("Nessuna"); + System.out.println("Studente"); + System.out.println("Calciatore"); + System.out.println("Influencer"); + System.out.print("Inserire la professione: "); + professione = sc.nextLine().toLowerCase(); + sc.nextLine(); + + try { + switch (professione) { + case "nessuna": + ritorno[i] = new Persona(nome, cognome, sesso, età); + break; + case "studente": + System.out.print("Inserire la classe: "); + classe = sc.nextLine(); + sc.nextLine(); + + System.out.print("Inserire l'indirizzo di studio: "); + indirizzoDiStudio = sc.nextLine(); + sc.nextLine(); + ritorno[i] = new Studente(nome, cognome, sesso, età, classe, indirizzoDiStudio); + break; + case "calciatore": + System.out.print("Inserire la squadra: "); + squadra = sc.nextLine(); + sc.nextLine(); + + System.out.print("Inserire il numero di maglia: "); + numeroMaglia = sc.nextLine(); + sc.nextLine(); + ritorno[i] = new Calciatore(nome, cognome, sesso, età, squadra, numeroMaglia); + break; + case "influencer": + System.out.print("Inserire il numero di follower: "); + numeroFollower = sc.nextLine(); + sc.nextLine(); + + System.out.print("Inserire l'handle: "); + handle = sc.nextLine(); + sc.nextLine(); + ritorno[i] = new Influencer(nome, cognome, sesso, età, numeroFollower, handle); + break; + default: + System.out.println("Opzione non valida."); + Pausa(); + break; + } + } catch (InputMismatchException e) { + System.out.println("Errore: scelta non valida."); + Pausa(); + } + } while (error); + + } + return ritorno; + } }