Controlla se l'input è intero in Java Verificare se l’input è intero utilizzando il metodo hasNextInt in Java Controlla se il numero è intero usando il blocco try...catch Il problema afferma che dobbiamo controllare se l’input preso in linguaggio Java è un numero intero. Verificare se l’input è intero utilizzando il metodo hasNextInt in Java Il System è una classe che ha metodi e campi statici. Non possiamo mai istanziarne l’oggetto. L’oggetto in è il flusso di input standard. Questo flusso è già aperto e pronto per fornire dati di input. hasNextMethod è presente nella classe Scanner e restituisce true se il token successivo in questo input di scanner può essere valutato come un valore int . Il metodo genera IllegalStateException se l’oggetto scanner è chiuso. package checkInputIsInt; import java.util.Scanner; public class CheckIntegerInput { public static void main(String[] args) { System.out.print("Enter the number: "); Scanner scanner= new Scanner(System.in); if(scanner.hasNextInt()){ System.out.println("The number is an integer"); } else{ System.out.println("The number is not an integer"); } } } Nella prima riga, l’input viene preso dall’utente utilizzando l’input della console. Poiché il testo immesso è un numero, il numero è un numero intero che viene stampato. Enter the number: 1 The number is an integer Poiché il testo immesso non è un numero, viene stampata l’istruzione della condizione else. Enter the number: Hi The number is not an integer Controlla se il numero è intero usando il blocco try...catch Nel blocco di codice seguente, usiamo la classe Scanner per prendere l’input dell’utente dalla console. La classe Scanner ha il metodo next . Lancia NoSuchElementException se non sono più disponibili token e IllegalStateException se questo scanner è chiuso. public class CheckIntegerInput { public static void main(String[] args) { System.out.print("Enter the number : "); Scanner scanner= new Scanner(System.in); try{ Integer.parseInt(scanner.next()); System.out.println("The number is an integer"); }catch (NumberFormatException ex) { System.out.println("The number is not an integer "); } } Il codice sopra mostrerà l’istruzione nel blocco try se il numero è un numero intero. Ed eseguirà l’istruzione presente nel blocco catch se il metodo lancia una Exception da esso e lancia NumberFormatException se non è in grado di convertire una stringa in uno dei tipi numerici. L’output del codice precedente è simile a quello del primo codice di esempio riportato sopra.