본문 바로가기
JAVA

[JAVA] Scanner (스캐너) 클래스

by Amy IT 2022. 5. 29.

자바에서 키보드로부터 데이터를 입력받는 방법 중 하나로 Scanner 클래스를 이용하는 방법이 있습니다. Scanner 클래스는 다음과 같이 생성합니다.

Scanner scan = new Scanner(System.in);

 

다음은 Scanner 클래스의 주요 메소드입니다. 

 

메소드 설명
next() 문자열을 공백 기준으로 한 단어씩 반환
nextLine() 한 줄 전체를 반환
nextInt() int 값으로 받아서 반환
nextDouble() double 값으로 받아서 반환
nextBoolean() boolean 값으로 받아서 반환
close() 자원 반납

 

import java.util.Scanner;
public class ScannerTest {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.println("이름을 입력하시오");
		String name = scan.next();
		System.out.println("나이를 입력하시오");
		int age = scan.nextInt();
		System.out.println("체중을 입력하시오");
		double weight = scan.nextDouble();
		System.out.println("결혼여부를 입력하시오");
		boolean isMarried = scan.nextBoolean();
		System.out.println("이름: "+name);
		System.out.println("나이: "+age);
		System.out.println("체중: "+weight);
		System.out.println("결혼여부: "+isMarried);
		scan.close();
	}
}

프로그램을 실행하면 다음과 같이 콘솔창에 입력을 할 수 있게 됩니다. 이후 입력한 값을 각 변수에 저장하여 출력하고 있습니다.

 

 

다음과 같이 키보드 입력을 반복적으로 처리하기 위해 반복문을 사용할 수 있으며, 특정 조건을 만족해야 반복문을 빠져나가도록 설정할 수 있습니다.

import java.util.Scanner;
public class ScannerTest2 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		while (true) { //조건식이 항상 참이라서 강제 무한반복
			System.out.println("종료를 입력하시오");
			String str = scan.nextLine();
			if (str.equals("종료")) break; //빠져나감 
			System.out.println("입력한 값: "+str);
		}
		System.out.println("프로그램 종료");
		scan.close();
	}
}

 

 

 

댓글