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

Programma Java che moltiplica due interi e verifica l'overflow

Per verificare l'overflow di Integer, dobbiamo controllare il risultato della moltiplicazione di Integer.MAX_VALUE con un intero, qui, Integer.MAX_VALUE è il valore massimo degli interi in Java.

Vediamo un esempio in cui si moltiplicano due interi e se il risultato è maggiore di Integer.MAX_VALUE, viene lanciata un'eccezione.

Di seguito è riportato un esempio di come verificare l'overflow di Integer.

Esempio

public class Demo {
   public static void main(String[] args) {
      int val1 = 9898;
      int val2 = 6784;
      System.out.println("Valore1: "+val1);
      System.out.println("Valore2: "+val2);
      long mul = (long)val1 * (long)val2;
      if (mul > Integer.MAX_VALUE) {
         throw new ArithmeticException("Overflow!");
      }
      //Mostra la moltiplicazione
      System.out.println("Risultato della moltiplicazione: "+(int)mul);
   }
}

Risultato di output

Valore1: 9898
Valore2: 6784
Risultato della moltiplicazione: 67148032

Nell'esempio sopra, abbiamo utilizzato due interi seguenti.

int val1 = 9898;
int val2 = 6784;

Ora, lo proiettiamo e lo moltiplichiamo.

long mul = (long)val1 + (long)val2;

Se il risultato è maggiore del valore massimo, viene lanciata un'eccezione.

Se (mul > Integer.MAX_VALUE) {
   throw new ArithmeticException("Overflow!");
}