From cb8c67abfb4c1de91d4773149c8fa891f7b73524 Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Fri, 17 Oct 2025 21:05:29 +0200 Subject: [PATCH] =?UTF-8?q?Mostra=20studente=20pi=C3=B9=20giovane?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ereditarieta/Persona.java | 4 ++++ src/ereditarieta/ereditarieta.java | 36 +++++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/src/ereditarieta/Persona.java b/src/ereditarieta/Persona.java index 1cbfd8a..d5894d5 100644 --- a/src/ereditarieta/Persona.java +++ b/src/ereditarieta/Persona.java @@ -32,4 +32,8 @@ public class Persona { public String getNome() { return this.nome; } + + public String getEtà() { + return this.età; + } } \ No newline at end of file diff --git a/src/ereditarieta/ereditarieta.java b/src/ereditarieta/ereditarieta.java index f04b449..baa0852 100644 --- a/src/ereditarieta/ereditarieta.java +++ b/src/ereditarieta/ereditarieta.java @@ -105,7 +105,28 @@ public class ereditarieta { Pausa(); break; case 5: - + if (opzione1) { + if (ProfessioneEsiste(persone, "Studente")) { + int minimo = Integer.MAX_VALUE, j = 0; + Studente studenti[] = TrovaStudenti(persone); + for (int i = 0; i < studenti.length; i++) { + if (Integer.parseInt(studenti[i].getEtà()) < minimo) { + minimo = Integer.parseInt(studenti[i].getEtà()); + j = i; + } + } + System.out.println("Lo studente più giovane è:"); + studenti[j].MostraPersona(); + } else { + System.out + .println( + "Errore: è necessario aggiungere almeno uno studente prima di mostrare la sua età."); + } + } else { + System.out + .println( + "Errore: è necessario aggiungere almeno una persona prima di mostrare informazioni su di esse."); + } Pausa(); break; default: @@ -273,4 +294,17 @@ public class ereditarieta { return ritorno; } + + static Studente[] TrovaStudenti(Persona[] p_persone) { + Studente ritorno[] = new Studente[0]; + + for (int i = 0; i < p_persone.length; i++) { + if (p_persone[i].getClass().getSimpleName().equals("Studente")) { + ritorno = Arrays.copyOf(ritorno, ritorno.length + 1, ritorno.getClass()); + ritorno[i] = (Studente) p_persone[i]; + } + } + + return ritorno; + } }