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

Java programa que verifica el desbordamiento de enteros

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.

Ejemplo

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!");
}