Java程式用於整數減法並檢查溢位


在本文中,我們將減去兩個整數並檢查結果是否導致Java中的溢位。為了檢查整數溢位,我們需要將Integer.MAX_VALUE與減法結果進行比較,這裡,Integer.MAX_VALUE是Java中整數的最大值。讓我們看一個減去整數的例子,如果結果大於Integer.MAX_VALUE,則會丟擲一個異常

問題陳述

用Java編寫一個程式來減去整數並檢查溢位 -

輸入

val1 = 9898999
val2 = 8784556

輸出

Value1: 9898999
Value2: 8784556
Subtraction Result: 1114443

減去整數並檢查溢位的步驟

以下是減去整數並檢查溢位的步驟 -

  • 宣告兩個整數變數,val1val2,併為其賦值。
  • 列印val1val2的值。
  • 將兩個整數轉換為long型別並執行減法,並將結果儲存在變數sub中。
  • 檢查sub是否大於Integer.MAX_VALUE。
  • 如果條件為真,則丟擲帶有訊息“Overflow!”的ArithmeticException異常。
  • 如果沒有丟擲異常,則列印轉換回整數型別的減法結果。

Java程式用於整數減法並檢查溢位

以下是一個顯示如何檢查整數溢位的示例 -

public class Demo {
   public static void main(String[] args) {
      int val1 = 9898999;
      int val2 = 8784556;
      System.out.println("Value1: "+val1);
      System.out.println("Value2: "+val2);
      long sub = (long)val1 - (long)val2;
      if (sub > Integer.MAX_VALUE) {
         throw new ArithmeticException("Overflow!");
      }
      // displaying subtraction result
      System.out.println("Subtraction Result: "+(int)sub);
   }
}

輸出

Value1: 9898999
Value2: 8784556
Subtraction Result: 1114443

程式碼解釋

程式初始化兩個整數val1val2,並列印它們的值。在減法之前,兩個整數都轉換為long型別以避免操作期間溢位。減法的結果儲存在sub中。然後,程式檢查sub是否超過Integer.MAX_VALUE,如果是,則丟擲ArithmeticException異常。如果不是,則列印減法的結果,並將其轉換回整數型別。

更新於: 2024年10月10日

977 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告