Ragazzi mi potete aiutare a risolvere questo piccolo problema?
classe Librettoesame
codice:
public class Librettoesame {
int totCFU;
double media;
ArrayList<Esame> lista;
public Librettoesame() {
lista = new ArrayList<Esame>();
totCFU = 0;
media = 0;
}
public boolean addEsame(Esame e){
if(lista.contains(e))
return false;
else {
lista.add(e);
return true;
}
}
public String punti(int n){
String s = "";
for(int i=0;i<n;i++)
s = s.concat(".");
return s;
}
public String stampaPunti(){
String s = "";
int max = 0;
for(Esame e : lista){
if(e.getVoto() != 0){
int len = e.nome.length();
if(max == 0 || max < len)
max = len;
}
}
int n = 0;
for(Esame e : lista){
if(e.getVoto() != 0)
n = max - e.nome.length();
s = e.getNome() + punti(n);
if(e.getCFU() < 10)
s = s + " " + e.getCFU() + " CFU - " + e.getVoto() + "/30";
else
s = s + " " + e.getCFU() + " CFU - " + e.getVoto() + "/30";
}
return s;
}
}
il praticamente ho una classe esame ed una librettoEsame...in quest'ultima come vedete c'è un metodo che deve stampare il libretto nel seguente modo:
codice:
PROGRAMMAZIONE.................. 12 CFU - 27/30
MATEMATICA DEL CONTINUO......... 12 CFU - 25/30
ARCHITETTURA DEGLI ELABORATORI I 6 CFU - 24/30
ALGORITMI E STRUTTURE DATI...... 12 CFU - 28/30
SISTEMI OPERATIVI I............. 6 CFU - 19/30
BASI DI DATI.................... 12 CFU - 30/30
LINGUAGGI FORMALI E AUTOMI...... 6 CFU - 27/30
FISICA.......................... 6 CFU - 21/30
RETI DI CALCOLATORI............. 12 CFU - 29/30
MATEMATICA DEL DISCRETO......... 9 CFU - 25/30
ma la mia di stampa è questa:
codice:
PROGRAMMAZIONE 12 CFU - 27/30
MATEMATICA DEL CONTINUO 12 CFU - 25/30
ARCHITETTURA DEGLI ELABORATORI I 6 CFU - 24/30
ALGORITMI E STRUTTURE DATI...... 12 CFU - 28/30
SISTEMI OPERATIVI I............. 6 CFU - 19/30
BASI DI DATI.................... 12 CFU - 30/30
LINGUAGGI FORMALI E AUTOMI...... 6 CFU - 27/30
FISICA.......................... 6 CFU - 21/30
RETI DI CALCOLATORI............. 12 CFU - 29/30
MATEMATICA DEL DISCRETO......... 9 CFU - 25/30
non riesco a devifinire la lunghezza massima...scorrendo la lista degli esami individua quello che ha la lunghezza maggiore ma per i primi 2 no non capisco perchè non mi mantiene fisso il valore di max