English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

정수를 더하고 오버플로우를 확인하는 Java 프로그램

Integer overflow를 확인하려면 추가된 정수 결과를 Integer.MAX_VALUE와 확인해야 합니다. 여기서 Integer.MAX_VALUE는 Java의 정수 최대값입니다.

정수를 추가하고 Integer.MAX_VALUE보다 합이 크면 예외를 발생시키는 예제를 보겠습니다.

예제

public class Demo {
   public static void main(String[] args) {
      int a = 9897988;
      int b = 8798798;
      System.out.println("Value1: "+a);
      System.out.println("Value2: "+b);
      long sum = (long)a + (long)b;
      if (sum > Integer.MAX_VALUE) {
         throw new ArithmeticException("정수 부호 오류!");
      }
      //총 합을 표시합니다
      System.out.println("합: "+(int)sum);
   }
}

출력 결과

값1: 9897988
값2: 8798798
합: 18696786

위의 예제에서는 다음 두 정수를 사용했습니다.

int val1 = 9897988;
int val2 = 8798798;

지금, 우리는 그것을 프로젝션하고 long에 추가할 것입니다.

long sum = (long)val1 + (long)val2;

결과가 최대값보다 크면 예외를 발생시킵니다.

If (sum > Integer.MAX_VALUE) {
   throw new ArithmeticException("Overflow!");
}