Java 程式,用於乘以整數並檢查是否溢位


要檢查整數溢位,我們需要將 Integer.MAX_VALUE 與乘以整數的結果進行比較,這裡,Integer.MAX_VALUE 是 Java 中整數的最大值。

讓我們看一個示例,其中將整數相乘,如果結果大於 Integer.MAX_VALUE,則會丟擲一個異常。

以下示例展示瞭如何檢查整數溢位。

示例

 線上演示

public class Demo {
   public static void main(String[] args) {
      int val1 = 9898;
      int val2 = 6784;
      System.out.println("Value1: "+val1);
      System.out.println("Value2: "+val2);
      long mul = (long)val1 * (long)val2;
      if (mul > Integer.MAX_VALUE) {
         throw new ArithmeticException("Overflow!");
      }
      // displaying multiplication
      System.out.println("Multiplication Result: "+(int)mul);
   }
}

輸出

Value1: 9898
Value2: 6784
Multiplication Result: 67148032

在上面的示例中,我們採用了以下兩個整數。

int val1 = 9898;
int val2 = 6784;

現在,我們將對它們進行強制轉換並相乘,得到一個長整數。

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

如果結果大於最大值,則會丟擲一個異常。

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

更新於: 2020 年 6 月 26 日

854 次檢視

開啟您的職業生涯

透過完成課程獲取認證

開始
廣告