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

Programa Java que suma enteros y verifica el desbordamiento

Para verificar el desbordamiento de Integer, necesitamos usar el resultado de la suma de enteros para verificar Integer.MAX_VALUE. Aquí, Integer.MAX_VALUE es el valor máximo de los enteros en Java.

Veamos un ejemplo en el que se agregan enteros y si la suma es mayor que Integer.MAX_VALUE, se lanza una excepción.

Ejemplo

public class Demo {
   public static void main(String[] args) {
      int a = 9897988;
      int b = 8798798;
      System.out.println("Valor1: "+a);
      System.out.println("Valor2: "+b);
      long sum = (long)a + (long)b;
      if (sum > Integer.MAX_VALUE) {
         throw new ArithmeticException("Desbordamiento de entero!");
      }
      //Mostrar suma
      System.out.println("Suma: "+(int)sum);
   }
}

Resultado de salida

Valor1: 9897988
Valor2: 8798798
Suma: 18696786

En el ejemplo anterior, adoptamos los siguientes dos enteros.

int val1 = 9897988;
int val2 = 8798798;

Ahora, proyectaremos y agregaremos 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!");
}