4. ClassCastException : 변환할 수 없는 타입으로 객체를 변환할 때 발생
출력결과 )
예외처리 후
class Animal {
}
class Dog extends Animal {
}
class Cat extends Animal {
}
public class ClassCast05 {
public static void main(String[] args) {
try {
Dog dog1 = new Dog();
Animal an = dog1;
Dog dog2 = (Dog)an;
System.out.println("Dog 형변환");
Animal an2 = new Animal();
Cat cat = (Cat)an2;
System.out.println("Cat 형변환");
} catch(ClassCastException ce) {
System.out.println("클래스 형변환 불가");
}
}
}
출력결과 )
5. InputMismatchException : Scanner 클래스의 nextInt()를 호출하여 정수를 입력 받으려 하였지만, 사용자가 문자를 입력한 경우
public class InputMismatch07 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("정수를 3개 입력하세요");
int sum = 0;
for(int i=1; i<=3; i++) {
System.out.print(i + "번째 점수 : " );
int num = scan.nextInt();
sum += num;
}
System.out.println("합계 : " + sum);
System.out.println("평균 : " + sum / 3.0);
}
}
출력결과 )
예외처리 후
public class InputMismatch07 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("정수를 3개 입력하세요");
int sum = 0;
for(int i=1; i<=3; i++) {
System.out.print(i + "번째 점수 : " );
try {
int num = scan.nextInt();
sum += num;
} catch(InputMismatchException ie) {
System.out.println("정수가 아닙니다 ! 0~100점 사이의 정수만 입력해주세요");
scan.next();
i--;
}
}
System.out.println("합계 : " + sum);
System.out.println("평균 : " + sum / 3.0);
}
}
출력결과 )
'Java' 카테고리의 다른 글
Java문법) Object클래스 - hashCode (0) | 2023.11.02 |
---|---|
Java문법) 예외처리 -4 (throw와 throws) (0) | 2023.11.01 |
Java문법) 예외처리 -2 (NullPointerException, ArrayIndexOutOfBoundsException, NumberFormatException) (0) | 2023.11.01 |
Java문법) 예외처리 -1 (0) | 2023.10.31 |
Java문법) final 키워드 (0) | 2023.10.30 |