Java程序用于整数减法并检查溢出
在本文中,我们将减去两个整数并检查结果是否导致Java中的溢出。为了检查整数溢出,我们需要将Integer.MAX_VALUE与减法结果进行比较,这里,Integer.MAX_VALUE是Java中整数的最大值。让我们看一个减去整数的例子,如果结果大于Integer.MAX_VALUE,则会抛出一个异常。
问题陈述
用Java编写一个程序来减去整数并检查溢出 -
输入
val1 = 9898999
val2 = 8784556
输出
Value1: 9898999
Value2: 8784556
Subtraction Result: 1114443
减去整数并检查溢出的步骤
以下是减去整数并检查溢出的步骤 -
- 声明两个整数变量,val1和val2,并为其赋值。
- 打印val1和val2的值。
- 将两个整数转换为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
代码解释
程序初始化两个整数val1和val2,并打印它们的值。在减法之前,两个整数都转换为long类型以避免操作期间溢出。减法的结果存储在sub中。然后,程序检查sub是否超过Integer.MAX_VALUE,如果是,则抛出ArithmeticException异常。如果不是,则打印减法的结果,并将其转换回整数类型。
广告