English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Para verificar el desbordamiento de Integer, necesitamos verificar Integer.MAX_VALUE, que es el valor máximo de los enteros en Java.
Veamos un ejemplo en el que se suman enteros y si la suma es mayor que Integer.MAX_VALUE, se lanza una excepción.
public class Demo { public static void main(String[] args) { int val1 = 9898989; int val2 = 6789054; System.out.println("Valor1: "+val1); System.out.println("Valor2: "+val2); long sum = (long)val1 + (long)val2; if (sum > Integer.MAX_VALUE) { throw new ArithmeticException("¡Desbordamiento!"); } //Mostrar la suma System.out.println("Suma: "+(int)sum); } }
Resultado de salida
Valor1: 9898989 Valor2: 6789054 Suma: 16688043
En el ejemplo anterior, utilizamos los siguientes dos enteros-
int val1 = 9898989; int val2 = 6789054;
Ahora, vamos a proyectar y agregarlo a long.
long sum = (long)val1 + (long)val2;
Si el resultado es mayor que el valor máximo, se lanza una excepción.
if (sum > Integer.MAX_VALUE) { throw new ArithmeticException("¡Desbordamiento!"); }