본문 바로가기
JAVA BASE/variable(변수)

04. [자바] 화면에서 입력받기 - Scanner

by staticClass 2020. 11. 30.

지금까지와는 다르게 화면에 출력만 하는것이 아닌 입력도 받아보려 한다

이를 위해 Scanner클래스를 이용하여 화면으로부터 입력 받는 방법을 알아보자.

 

Scanner 클래스를 사용하려면 아래와 같이 import를 해줘야한다.

import java.util.*;	// Scanner 클래스를 사용하기 위해 추가

 

그 다음 Scanner클래스의 객체를 생성.

Scanner scanner = new Scanner(System.in); // Scanner클래스의 객체를 생성

 

nextLine()이라는 메서드를 호출하면, 입력대기 상태가 되는데 원하는 입력을 마치고

"엔터키(Enter)"를 누르면 내용이 문자열로 반환된다.

String input = scanner.nextLine(); //입력받은 내용을 input에 저장
int num = Integer.parseInt(input); //입력받은 내용을 input타입의 값으로 변환

만일 입력받은 문자열을 숫자로 변환하려면, Integer.parseInt()라는 메서드를 사용해야 한다.

- 사실 Scanner클래스에는 nextLine()나 nextFloat()와 같은 변환없이 숫자로 바로 입력받는 메서드가 있음.

그러나 이 메서드들은 화면에서 연속적으로 값을 입력받아 사용하기 까다로우니 차라리

nextLine()으로 입력받아 적절히 변환하는 것이 더 낫다.

 

 

위의 예제에서 만일 숫자가 아닌 문자, 기호를 입력 시 문자열을 숫자로 변환하는 과정인 Integer.parseInt()에서 에러가 난다.

 

/*
	약 3년간 쓰지 않던 Scanner클래스를 다시 보니 반갑고
	자바 기본을 공부하는 동안 자주 쓰게 될것 같다
*/

댓글