From 8221c2e0f3276ab2a0ca31de4e536754febea8f1 Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Fri, 17 Oct 2025 21:56:14 +0200 Subject: [PATCH] =?UTF-8?q?Controllo=20et=C3=A0=20+=20rimoszione=20control?= =?UTF-8?q?lo=20eccezione=20inutile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ereditarieta/ereditarieta.java | 112 ++++++++++++++++------------- 1 file changed, 62 insertions(+), 50 deletions(-) diff --git a/src/ereditarieta/ereditarieta.java b/src/ereditarieta/ereditarieta.java index 4d77f0b..4790c5d 100644 --- a/src/ereditarieta/ereditarieta.java +++ b/src/ereditarieta/ereditarieta.java @@ -109,8 +109,8 @@ public class ereditarieta { if (opzione1) { if (professioneEsiste(persone, "Studente")) { Studente studenti[] = trovaStudenti(persone); - - int minimo = Integer.MAX_VALUE, j = 0; + + int minimo = Integer.MAX_VALUE, j = 0; for (int i = 0; i < studenti.length; i++) { if (Integer.parseInt(studenti[i].getEtà()) < minimo) { minimo = Integer.parseInt(studenti[i].getEtà()); @@ -164,7 +164,7 @@ public class ereditarieta { String nome; String cognome; String sesso; - String età; + String età = ""; String professione; String classe; String indirizzoDiStudio; @@ -210,8 +210,25 @@ public class ereditarieta { System.out.print("Inserire il sesso: "); sesso = sc.nextLine(); - System.out.print("Inserire l'età: "); - età = sc.nextLine(); + do { + error = true; + int etàInt; + System.out.print("Inserire l'età: "); + try { + etàInt = sc.nextInt(); + sc.nextLine(); + if (etàInt <= 0) { + System.out.println("Errore: l'età deve essere maggiore di 0."); + pausa(); + } else { + error = false; + età = String.valueOf(etàInt); + } + } catch (InputMismatchException e) { + System.out.println("Errore: età non valida."); + pausa(); + } + } while (error); do { error = true; @@ -223,54 +240,49 @@ public class ereditarieta { System.out.print("Inserire la professione: "); professione = sc.nextLine().toLowerCase(); - try { - switch (professione) { - case "nessuna": - ritorno[arrayNuovo ? i : p_persone.length + i] = new Persona(nome, cognome, sesso, età); - error = false; - System.out.println("Persona inserita con successo."); - break; - case "studente": - System.out.print("Inserire la classe: "); - classe = sc.nextLine(); + switch (professione) { + case "nessuna": + ritorno[arrayNuovo ? i : p_persone.length + i] = new Persona(nome, cognome, sesso, età); + error = false; + System.out.println("Persona inserita con successo."); + break; + case "studente": + System.out.print("Inserire la classe: "); + classe = sc.nextLine(); - System.out.print("Inserire l'indirizzo di studio: "); - indirizzoDiStudio = sc.nextLine(); - 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; - case "calciatore": - System.out.print("Inserire la squadra: "); - squadra = sc.nextLine(); + System.out.print("Inserire l'indirizzo di studio: "); + indirizzoDiStudio = sc.nextLine(); + 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; + case "calciatore": + System.out.print("Inserire la squadra: "); + squadra = sc.nextLine(); - System.out.print("Inserire il numero di maglia: "); - numeroMaglia = sc.nextLine(); - 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; - case "influencer": - System.out.print("Inserire il numero di follower: "); - numeroFollower = sc.nextLine(); + System.out.print("Inserire il numero di maglia: "); + numeroMaglia = sc.nextLine(); + 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; + case "influencer": + System.out.print("Inserire il numero di follower: "); + numeroFollower = sc.nextLine(); - System.out.print("Inserire l'handle: "); - handle = sc.nextLine(); - 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; - default: - System.out.println("Opzione non valida."); - pausa(); - break; - } - } catch (InputMismatchException e) { - System.out.println("Errore: scelta non valida."); - pausa(); + System.out.print("Inserire l'handle: "); + handle = sc.nextLine(); + 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; + default: + System.out.println("Opzione non valida."); + pausa(); + break; } } while (error);