English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java-Programm zur Subtraktion von Ganzzahlen und Überprüfung auf Überlauf

Um Integer-Überläufe zu überprüfen, müssen wir das Ergebnis der Subtraktion mit Integer.MAX_VALUE vergleichen. Hierbei ist Integer.MAX_VALUE der größte Wert für Ganzzahlen in Java.

Lassen Sie uns ein Beispiel betrachten, bei dem eine Ganzzahl subtrahiert wird und eine Ausnahme ausgelöst wird, wenn das Ergebnis größer als Integer.MAX_VALUE ist.

Hier ist ein Beispiel, wie man Integer-Überläufe überprüft.

Beispiel

public class Demo {
   public static void main(String[] args) {
      int val1 = 9898999;
      int val2 = 8784556;
      System.out.println("Wert"1: "+val1);
      System.out.println("Wert"2: "+val2);
      long sub = (long)val1 - (long)val2;
      if (sub > Integer.MAX_VALUE) {
         throw new ArithmeticException("Überlauf!");
      }
      //Zeige das Subtraktionsergebnis an
      System.out.println("Subtraktionsergebnis:",+(int)sub);
   }
}

Ausgaberesultat

Wert1: 9898999
Wert2: 8784556
Subtraktionsergebnis: 1114443

Im obigen Beispiel haben wir die folgenden beiden Ganzzahlen verwendet-

int val1 = 9898999;
int val2 = 8784556;

Nun konvertieren wir es in eine Subtraktion.

long sub = (long)val1 - (long)val2;

Wenn das Ergebnis größer als der Maximalwert ist, wird eine Ausnahme ausgelöst.

If (sub > Integer.MAX_VALUE) {
   throw new ArithmeticException("Überlauf!");
}