class Studente { // Attributi private String nome; private String cognome; private int matricola; // Fino a 4 miliardi di studenti private String corso; private Esame[] esame; private int esamiSostenuti; // Costruttore public Studente(String nome, String cognome, int matricola, String corso, int esamiTotali) { this.nome = nome; this.cognome = cognome; this.matricola = matricola; this.corso = corso; esame = new Esame[esamiTotali]; esamiSostenuti = 0; } // Metodi di accesso String restituisciNome() { return nome; } String restituisciCognome() { return cognome; } int restituisciMatricola() { return matricola; } String restituisciCorso() { return corso; } // Aggiunta di un esame superato public boolean aggiungiEsame(Esame e) { if (esamiSostenuti < esame.length) { esame[esamiSostenuti] = e; ++esamiSostenuti; return true; } else { return false; } } // Calcolo del totale dei crediti public int calcolaTotaleCrediti( ) { int totale = 0; for (int i = 0; i < esamiSostenuti; ++i) { totale += esame[i].restituisciCrediti(); } return totale; } // Calcolo della media degli esami public double calcolaMediaEsami( ) { double media = 0.0; if (esamiSostenuti > 0) { for (int i = 0; i < esamiSostenuti; ++i) { media += esame[i].restituisciVoto(); } media = media / esamiSostenuti; } return media; } }