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