Java程序将长整数相乘并检查溢出

要检查Long溢出,我们需要检查Long.MAX_VALUE和乘以long的结果,这里Long.MAX_VALUE是Java中Long类型的最大值。

让我们看一个例子,其中长值相乘,如果结果大于Long.MAX_VALUE,则抛出异常。

以下是显示如何检查长时间溢出的示例。

示例

public class Demo {
   public static void main(String[] args) {
      long val1 = 6999;
      long val2 = 67849;
      System.out.println("Value1: "+val1);
      System.out.println("Value2: "+val2);
      long mul = val1 * val2;
      if (mul > Long.MAX_VALUE) {
         throw new ArithmeticException("Overflow!");
      }
      //显示乘法
      System.out.println("Multiplication Result: "+(long)mul);
   }
}

输出结果

Value1: 6999
Value2: 67849
Multiplication Result: 474875151

在上面的示例中,我们采用了以下两个整数。

long val1 = 6999; long val2 = 67849;

现在我们将成倍增加。

long mul = val1 * val2;

如果结果大于最大值,则引发异常。

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