코린이의 소소한 공부노트

Scanner를 이용해 값을 직접 입력해서 화면에 출력하기 본문

Java

Scanner를 이용해 값을 직접 입력해서 화면에 출력하기

무지맘 2021. 12. 12. 17:14

지금까지 print 메서드를 쓴 것을 생각해보면

System.out.println("안녕?"); // "안녕?"

String s = "안녕?";
System.out.println(s); // "안녕?"

1) 출력하고 싶은 값을 직접 넣거나

2) 변수에 값을 저장한 후 출력하는 방식을 썼다.

이렇게 코드 입력 시 출력 값을 정해주는 방법 외에도, 코드를 작성해서 실행시킨 후 입력을 받아 화면에 출력할 수 있다. 그것이 이번에 볼 Scanner라는 것이다.

 

Scanner는 화면에서 데이터를 입력받는 기능을 제공하는 클래스이다.

이 클래스를 사용하려면 Scanner를 불러오고, Scanner 객체를 생성하는 것이다. 

// Scanner import - 둘 중 아무거나 써도 무방
import java.util.Scanner;
import java.util.*; // Scanner를 포함한 util 내부의 모든 클래스 추가

// Scanner 객체 생성
Scanner scan = new Scanner(System.in);
// System.in은 화면 입력에 관한 클래스

 

이렇게 생성한 객체를 이용해서 정수를 입력받아보겠다.

int n1 = scanner.nextInt(); // 정수 1개를 화면에서 입력받음
System.out.println(n1);

위 코드를 실행시킨 후 콘솔(Console) 화면에 정수를 입력 후 엔터를 치면 입력한 숫자가 출력된다.

[그림 008-1] 결과

하늘색은 필자가 입력한 숫자고, 하얀색은 println()으로 출력된 결과이다.

그럼 이번에는 2개를 입력받아보겠다. 위 코드를 2개 만들면 된다.

int n1 = scan.nextInt();
int n2 = scan.nextInt();
System.out.println(n1);
System.out.println(n2);

[그림 008-2] 결과

입력받을 값이 2개이므로, 2개를 띄어 써서 입력하면 차례대로 출력된다.

 

이 글에서 예시는 nextInt() 1개만 들었지만, 이외에도 자주 쓸법한 메서드들이 있다.

1) nextFloat()

 - 실수 1개를 입력받는 메서드

2) nextLine()

 - 줄바꿈(엔터 또는 '%n' 또는 '\n')을 기준으로 한 줄씩 입력받는 메서드

3) next()

 - 공백(띄어쓰기 또는 ' ')을 기준으로 하나씩 입력받는 메서드


[쿠기글] 숫자와 문자열의 변환

숫자를 문자열로 변환하는 건 의외로 간단하다.

String s1 = 16 + ""; // "16"

int i = 15;
String s2 = i + ""; // "15"

문자열을 숫자로 바꿀때는 parseInt() 메서드를 이용하면 된다.

i = Integer.parseInt(s1); // 16