English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Para verificar el desbordamiento de Integer, necesitamos verificar el resultado de la multiplicación de Integer.MAX_VALUE con un entero, aquí, Integer.MAX_VALUE es el valor máximo de los enteros en Java.
Veamos un ejemplo en el que se multiplican enteros y si el resultado es mayor que Integer.MAX_VALUE, se lanza una excepción.
A continuación, se muestra un ejemplo de cómo verificar el desbordamiento de Integer.
public class Demo { public static void main(String[] args) { int val1 = 9898; int val2 = 6784; System.out.println("Valor1: \+val1); System.out.println("Valor2: \+val2); long mul = (long)val1 * (long)val2; if (mul > Integer.MAX_VALUE) { throw new ArithmeticException("¡Desbordamiento!"); } //Mostrar multiplicación System.out.println("Resultado de la multiplicación:");+(int)mul); } }
Resultado de la salida
Valor1: 9898 Valor2: 6784 Resultado de la multiplicación: 67148032
En el ejemplo anterior, hemos utilizado los siguientes dos enteros.
int val1 = 9898; int val2 = 6784;
Ahora, lo proyectamos y duplicamos.
long mul = (long)val1 + (long)val2;
Si el resultado es mayor que el valor máximo, se lanza una excepción.
If (mul > Integer.MAX_VALUE) { throw new ArithmeticException("¡Desbordamiento!"); }