package lezione08; class StudenteSlide16 { String nome; String cognome; int eta; String matricola; EsameSlide14[] carriera; int next; StudenteSlide16(String nome, String cognome, int e) { this.nome = nome; this.cognome = cognome; this.eta = e; this.next = 0; } double calcolaMedia(){ // SIGNATURE: metodo di nome 'calcolaMedia' che ritorna un valore di tipo 'double' e non necessita di input double somma = this.sommaVoti(this.carriera); return somma / this.next; } double sommaVoti(EsameSlide14[] carriera) { // SIGNATURE: metodo di nome 'sommaVoti' che ritorna un valore di tipo 'double' e necessita di un array di tipo 'EsameSlide14' in input double somma = 0; for (int i = 0; i < next; i++) { somma += carriera[i].voto; } return somma; } int registraVoto(String materia, int voto) { // SIGNATURE: metodo di nome 'registraVoto' che ritorna un valore di tipo 'int' e necessita di un valore di tipo 'String' e uno di tipo 'int' in input EsameSlide14 esame = new EsameSlide14(); esame.materia = materia; esame.voto = voto; this.carriera[this.next] = esame; this.next++; return next; } double registraECalcolaMedia(EsameSlide14 esame) { // SIGNATURE: metodo di nome 'registraECalcolaMedia' che ritorna un valore di tipo 'double' e necessita di un valore di tipo 'EsameSlide14' in input this.registraVoto(esame.materia, esame.voto); return this.calcolaMedia(); } }