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 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告