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 次查看

开启您的职业生涯

通过完成课程获取认证

开始
广告