Prüfen, ob eine Eingabe Integer ist in Java

Rashmi Patidar 12 Oktober 2023
  1. Prüfen, ob eine Eingabe eine Ganzzahl ist mit der Methode hasNextInt in Java
  2. Überprüfen Sie mit dem Block try...catch, ob die Zahl ganzzahlig ist
Prüfen, ob eine Eingabe Integer ist in Java

Das Problem besagt, dass wir überprüfen müssen, ob die Eingabe in der Java-Sprache eine Ganzzahl ist.

Prüfen, ob eine Eingabe eine Ganzzahl ist mit der Methode hasNextInt in Java

Das System ist eine Klasse mit statischen Methoden und Feldern. Wir können das Objekt niemals instanziieren. Das Objekt in ist der Standardeingabestream. Dieser Stream ist bereits geöffnet und bereit, Eingabedaten bereitzustellen.

Die hasNextMethod ist in der Klasse Scanner vorhanden und gibt true zurück, wenn das nächste Token in dieser Scannereingabe als int-Wert ausgewertet werden kann. Die Methode löst IllegalStateException aus, wenn das Scannerobjekt geschlossen ist.

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");
    }
  }
}

In der ersten Zeile wird die Eingabe vom Benutzer über die Konsoleneingabe übernommen. Da der eingegebene Text eine Zahl ist, ist die Zahl eine Ganzzahl, die gedruckt wird.

Enter the number: 1
The number is an integer

Da der eingegebene Text keine Zahl ist, wird die else-Bedingungsanweisung gedruckt.

Enter the number: Hi
The number is not an integer

Überprüfen Sie mit dem Block try...catch, ob die Zahl ganzzahlig ist

Im folgenden Codeblock verwenden wir die Scannerklasse, um Benutzereingaben von der Konsole zu übernehmen. Die Klasse Scanner hat die Methode next. Es wird NoSuchElementException ausgelöst, wenn keine Token mehr verfügbar sind, und IllegalStateException, wenn dieser Scanner geschlossen ist.

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 ");
    }
  }

Der obige Code zeigt die Anweisung im try-Block an, wenn die Zahl eine Ganzzahl ist. Die im catch-Block vorhandene Anweisung wird ausgeführt, wenn die Methode eine Exception auslöst, und NumberFormatException, wenn eine Zeichenkette nicht in einen der numerischen Typen konvertiert werden kann.

Die Ausgabe des obigen Codes ähnelt der im ersten oben angegebenen Beispielcode.

Rashmi Patidar avatar Rashmi Patidar avatar

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

Verwandter Artikel - Java Integer