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; + } }