Quote Originariamente inviata da Gas75 Visualizza il messaggio
Funziona nel controllare che il dato inserito sia di tipo int, ma non controlla l'immissione di valori negativi che non hanno senso nel contesto dell'applicazione...
Innanzitutto non è buonissimo in generale, perché se usi più volte il metodo, ricrei lo Scanner da System.in. Nelle applicazioni console, lo Scanner da System.in generalmente dovrebbe essere creato una volta sola.

E comunque se vuoi controllare che sia positivo, avrebbe senso o cambiargli il nome, invece che leggiInt un leggiIntPositivo oppure tenere quello così e aggiungere un altro leggiIntPositivo.

Per il controllo, comunque basta testare il valore e fare ok = true; solo se è positivo. In ogni caso, si può evitare quella variabile boolean.