국비교육 5일차 JAVA
Scanner를 사용하다보면 지정된 변수 타입이 아니고 다른 변수 타입을 입력하는 경우가 생긴다.
Scanner sc = new Scanner(System.in);
try {
System.out.print("1. 첫번째 정수 입력 : ");
int num1 = sc.nextInt();
sc.nextLine();
} catch(InputMismatchException e) {
System.out.println(">> (은)는 정수가 아니므로 정수만 입력하세요!");
}
상단의 예시와 같이 정수만 입력하라고 하였으나, 정수 외의 값을 입력하게 되면 오류가 생겨서 catch(InputMismatchException e)로 던지게 되고 System.out.println(">> (은)는 정수가 아니므로 정수만 입력하세요!");
를 출력해준다.
각각을 int, double 등 다 다른 타입으로 받기 보다는 String 타입으로 받아서 형변환을 시켜주는 방법을 사용하기도 하는데, 이때 사용되는 것이 Integer.parseInt()나 Integer.toString(), String.ValueOf()가 있다.
String str = "10";
System.out.println(str+20); // "1020"
System.out.println(Integer.parseInt(str)+20); // 30
int no = 40;
System.out.println(no+50); // 90
System.out.println(Integer.toString(no)+50); // "4050"
int num = 50;
System.out.println(num+40); // 90
System.out.println(String.valueOf(num)+40); // "50"+40 ==> "5040"