Raga un momento mi da errore all'esecuzione... scusate ma purtroppo essendo finita la scuola i forum sono l'unico posto dove posso risolvere i miei dubbi, comunque, con questo sorgente un pochettino modificato:

codice:
import java.io.*;
import java.util.Scanner;
class Last{
	public static void main(String args[]){
		boolean x;
		String nome;
		float prezzo=0;
		Libro l;
		Scanner input = new Scanner(System.in);
		System.out.println("Inserisci un nome del libro: ");
		nome=input.nextLine();
		do {
			if (input.hasNextFloat()){ 
				x=false;
				prezzo=input.nextFloat();
			}
			else{
				System.out.print("\0007");
				x=true;
			}
		} while (x);
		l=new Libro(nome, prezzo);
		try {
			FileOutputStream f = new FileOutputStream("libri.txt");
			ObjectOutputStream fO = new ObjectOutputStream(f);
			fO.writeObject(l);
			fO.flush();
			f.close();
		}
		catch (Exception e){
			System.out.println("Tipo di eccezione: " + e.getMessage());
		}
	}
}
Mi da in eccezione di tipo Libro... che significa? Gli do un nome tipo "ciao" e un float, ma non capisco dove sia il problema...

ecco qui il prompt:

codice:
C:\Users\Valerio\Desktop\Nuova cartella>java Last 
Inserisci un nome del libro: 
Lovemella 
32,14               /* qui non ho messo metodo print */
Tipo di eccezione: Libro C:\Users\Valerio\Desktop\Nuova cartella>