try catch문을 하다가 이해가 안가서 올립니다..
해늘
try{
System.out.print(│ 나이 : );
age=keyboard.nextInt();
}
catch(Exception e) {
System.out.println(│ 숫자만을 입력 해주세요 );
keyboard.next();
System.out.print(│ 나이 : );
age=keyboard.nextInt();
}
try에서 오류가 걸려서 catch에서 받았는데 여기서keyboard.next(); 이게 없으면
이렇게
┌───────────────────────────────────┐
│ 동물이름 : ㅁㅁ
│ 나이 : ㅁ
│ 숫자만을 입력 해주세요
│ 나이 : Exception in thread main java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at pet.AnimalReg(Main.java:24)
at Main.main(Main.java:55)
오류가 나고 keyboard.next(); 있으면 오류가 안나던데 이건 왜 이렇거죠?... 아 그리고
keyboard.next(); 이거와 keyboard.nextLine(); 이건 무슨 차이가 있나요??