반응형
package chap03;
import java.util.Scanner; // 입력 

public class plus {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int a, b;
		
		while(true) {
		System.out.printf("분자를 정수로 입력하세요 : ");
		a = s.nextInt();
		System.out.printf("분모를 정수로 입력하세요 : ");
		b = s.nextInt();
       		System.out.printf("결과는  %d 입니다.\n", a/b);
		if(b == 0) {
			System.out.printf("0으로 나눌 수는 없습니다.\n");
		} 	 
	}
}

자바로 프로그래밍 하던 중  Exception in thread "main" java.lang.ArithmeticException: 이라는 오류가 발생했다. 이유를 찾아보니 '특정식을 0으로 나누었을때 발생하는 예외' 라는 것을 알게 되었다. 그래서 여러 방법을 시도해보다가 

package chap03;
import java.util.Scanner; // 입력 

public class plus {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int a, b;
		
		while(true) {
		System.out.printf("분자를 정수로 입력하세요 : ");
		a = s.nextInt();
		System.out.printf("분모를 정수로 입력하세요 : ");
		b = s.nextInt();
		if(b == 0) {
			System.out.printf("0으로 나눌 수는 없습니다.\n");
		}
		else {
			System.out.printf("결과는  %d 입니다.\n", a/b);
            System.out.println("결과는 " + a/b + " 입니다. ");
			}
		} 	 
	}
}

 이렇게 if - case문을 사용하여 예외처리를 해주면 오류없이 코드가 진행되는 것을 알 수 있다. b가 0이 되어 a를 0으로 나누어 Exception in thread "main" java.lang.ArithmeticException: 오류가 발생하면 0으로 나눌수는 없습니다를 출력하고 이것이 아니라면 두 a와 b를 나눈 값을 출력하도록 코드를 짰다.

반응형

'JAVA > 문법' 카테고리의 다른 글

[JAVA] 클래스  (0) 2019.12.22
[JAVA] 배열 2  (0) 2019.12.15
[JAVA] 배열  (0) 2019.12.15
[JAVA] loop  (0) 2019.12.08
[JAVA] random(랜덤) 함수  (0) 2019.12.08

+ Recent posts