문제
변수에 값을 저장할 때 발생하는 overflow와 underflow를 실습하는 문제입니다 이를 해결하는 프로그램을 작성하세요
MAX = 2147483647
MAX + 1 = -2147483648 ( 오류 발생 )
MIN = -2147483648
MIN - 1 = 2147483647 ( 오류 발생 )
알고리즘 설계
프로그램 시작
int의 최대값과 최소값으로 변수 초기화
int의 최대값에 1을 더하거나 최소값에서 1을 빼면 오류 발생
overflow 및 underflow 결과 출력
프로그램 종료
// 파일명 : ./Chapter04/OverflowUnderflow.java
public class OverflowUnderflow
{
// 프로그램 시작
1 public static void main( String[] args ) {
// int의 최대값과 최소값으로 변수 초기화
2 final int MAX = +2147483647;
3 final int MIN = -2147483648;
// int의 최대값에 1을 더하거나 최소값에서 1을 빼면 오류 발생
4 int overflow = MAX + 1;
5 int underflow = MIN - 1;
// overflow 및 underflow 결과 출력
6 System.out.println( "MAX = " + MAX );
7 System.out.println( "MAX + 1 = " + overflow + " ( 오류 발생 )" );
8 System.out.println( "MIN = " + MIN );
9 System.out.println( "MIN - 1 = " + underflow + " ( 오류 발생 )" );
// 프로그램 종료
10 }
}
실행 순서 확인