Pessima idea, secondo me, creare ogni volta un nuovo scanner.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" ); }
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) { } } }

Rispondi quotando