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.
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn