Sto usando una classe bean Acquisto...
nella pagina jsp imposto i vari valori con le setProperty e poi richiedo l'esecuzione del metodo isAcquistato() riportato qui sotto
p.s. so che ci sono le stringhe al posto dei numeri, ma solo perché non sapevo che si può fare il cast con la request...

codice:
package cinema;

public class Acquisto {

	private String numbiglietti;
	private final static float PREZZO=5;
	private String nomeutente;
	private String importoacquisto;
	private ElencoUtenti elenco;
	
	
	public Acquisto(){
		elenco=new ElencoUtenti();
	}
	
	public void setNomeutente(String n){
		this.nomeutente=n;
	}
	
	public void setElenco(ElencoUtenti e){
		this.elenco = e;
	}
	
	public void setNumbiglietti(String n){
		
		numbiglietti=n;
	}

	
	public boolean isAcquistato(){
		Integer nbigl = Integer.parseInt(numbiglietti);
		Float importo = nbigl*PREZZO;
		importoacquisto = importo.toString();
		Utente u = elenco.cercaUtente(nomeutente);
		
		Float budget = Float.parseFloat(u.getBudget());
		boolean acquistato=false;
		
		
		if(budget>=importo){
			Float newbudget = budget-importo;
			String b = newbudget.toString();	
			u.setBudget(b);
			acquistato=true;
		}

	
		
		return acquistato;
	}
	
	public String getNomeutente(){
		return nomeutente;
	}
	
	public String getNumbiglietti(){
		return numbiglietti;
	}
	public String getImportoacquisto(){
		return importoacquisto;
	}
}
il metodo cercaUtente è questo, anche se non dà problemi altrove:

codice:
package cinema
public class ElencoUtenti {
	private LinkedList<Utente> elenco;

//...altro codice

public Utente cercaUtente(String nickname){
		ListIterator<Utente> it= elenco.listIterator();
		boolean trovato=false;
		Utente u=null;
		
		while(it.hasNext()&&!trovato){
			u = it.next();
			if(u.getNickname().equals(nickname)){
				trovato=true;
			}
		}

		return u;
		
	}