Originariamente inviato da interarete
Credo che puoi fare così:
codice:
Scanner s = new Scanner( System.in );
while ( !s.hasNextInt() )
{
s = new Scanner( System.in );
System.out.println( "Inserisci un intero" );
}
Pessima idea, secondo me, creare ogni volta un nuovo scanner.
Ecco un semplice metodo riutilizzabile:
codice:
public static int promptInt (Scanner sc, String prompt)
{
while (true) {
System.out.print (prompt);
try {
return Integer.parseInt (sc.nextLine ());
} catch (NumberFormatException nfe) { }
}
}