English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Um Integer-Überlauf zu überprüfen, müssen wir das Ergebnis der Multiplikation von Integer.MAX_VALUE mit einem Ganzzahl überprüfen, hier ist Integer.MAX_VALUE der maximale Wert der Ganzzahlen in Java.
Lassen Sie uns ein Beispiel betrachten, bei dem Ganzzahlen multipliziert werden, und eine Ausnahme wird ausgelöst, wenn das Ergebnis größer als Integer.MAX_VALUE ist.
Hier ist ein Beispiel, wie man Integer-Überlauf überprüft.
public class Demo { public static void main(String[] args) { int val1 = 9898; int val2 = 6784; System.out.println("Wert");1: \+val1); System.out.println("Wert");2: \+val2); long mul = (long)val1 * (long)val2; if (mul > Integer.MAX_VALUE) { throw new ArithmeticException("Überlauf!"); } //Zeige Multiplikation System.out.println("Multiplikationsergebnis:");+(int)mul); } }
Ausgaberesultat
Wert1: 9898 Wert2: 6784 Multiplikationsergebnis: 67148032
In dem obigen Beispiel haben wir die folgenden beiden Ganzzahlen verwendet.
int val1 = 9898; int val2 = 6784;
Nun, wir projizieren und verdoppeln es.
long mul = (long)val1 + (long)val2;
Wenn das Ergebnis größer als der maximale Wert ist, wird eine Ausnahme ausgelöst.
If (mul > Integer.MAX_VALUE) { throw new ArithmeticException("Überlauf!"); }