English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Um Überläufe von Integer zu überprüfen, müssen wir das Ergebnis der addierten Ganzzahlen mit Integer.MAX_VALUE überprüfen. Hierbei ist Integer.MAX_VALUE der größte Wert für Ganzzahlen in Java.
Lassen Sie uns ein Beispiel betrachten, bei dem Ganzzahlen addiert werden und eine Ausnahme ausgelöst wird, wenn die Summe größer als Integer.MAX_VALUE ist.
public class Demo { public static void main(String[] args) { int a = 9897988; int b = 8798798; System.out.println("Wert"1: "+a); System.out.println("Wert"2: "+b); long sum = (long)a + (long)b; if (sum > Integer.MAX_VALUE) { throw new ArithmeticException("Ganzzahloberlauf!"); } //Zeige Summe System.out.println("Summe: "+(int)sum); } }
Ausgaberesultat
Wert1: 9897988 Wert2: 8798798 Summe: 18696786
In dem obigen Beispiel haben wir die folgenden beiden Ganzzahlen verwendet.
int val1 = 9897988; int val2 = 8798798;
Nun werden wir projizieren und es zur long hinzufügen.
long sum = (long)val1 + (long)val2;
Wenn das Ergebnis größer als der Maximalwert ist, wird eine Ausnahme ausgelöst.
If (sum > Integer.MAX_VALUE) { throw new ArithmeticException("Überlauf!"); }