목차
Scanner 클래스 정의 - 사용자 입력값 받기
입력 메서드 종류
입력 메서드 예제
Scanner 클래스 정의 - 사용자 입력값 받기
[정의]
사용자 입력값 받는 클래스로서, java.util 패키지 안에 있음.
PS.
[이클립스] Scanner 클래스 추가 단축키 : Ctrl + Shift + O
[입력받는 방법]
1.
Scanner 클래스로 객체 생성.
2.
Scanner 클래스에 포함된 각 자료형 입력 메서드 이용해 입력 받음.
※ 아래서 자세히 소개.
3.
입력 받은 후 반드시 close() 메서드로 입력 모드 닫아야 함.
[예제] Hz.java
import java.util.Scanner; // Scanner 클래스 가져오기.
class Hz {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); // 객체 생성.
String mb_name;
System.out.println("이름 입력 후 Enter키");
mb_name = scan .nextLine(); // 문자열 읽기.
System.out.println("이름: " + mb_name);
scan .close();
}
}
PS.
scan .close() 메서드로 닫지 않으면 아래 에러 발생.
Resource leak: 'mb' is never closed
입력 메서드 종류
사용자 입력값 자료형 (Data Type) 에 따라 다름.
PS. 주의.
각 자료형 메서드와 불일치한 값이 입력된 경우,
InputMismatchException 같은 Exception (= 에러 메세지) 뜸.
[정수]
nextByte()
사용자가 입력한 byte 값 읽기.
(-128 ~ 127 정수 : 1 byte 크기)
nextShort()
사용자가 입력한 short 값 읽기.
(-32,768 ~ 32,767 정수 : 2 bytes 크기)
nextInt()
사용자가 입력한 int 값 읽기.
(-2,147,483,648 ~ 2,147,483,647 : 4 bytes)
nextLong()
사용자가 입력한 long 값 읽기.
(-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 : 8 bytes)
[부동소수]
nextFloat()
사용자가 입력한 float 값 읽기.
(10진수 6 ~ 7 자리 : 4 bytes)
nextDouble()
사용자가 입력한 double 값 읽기.
(10진수 15 자리 저장 : 8 bytes)
[참거짓]
nextBoolean()
사용자가 입력한 boolean 값 읽기.
(true, false : 1 bit 크기)
[문자열]
nextLine()
사용자가 입력한 String 값 읽기. (위 예제 경우)
입력 메서드 예제
import java.util.Scanner;
class Hz {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("이름, 레벨, 포인트 순서로 각가 입력 후 Enter키.");
// 문자열 input.
String name = scan.nextLine();
// 숫자 input.
int level = scan.nextInt();
double point = scan.nextDouble();
// 사용자 입력값 출력.
System.out.println("이름: " + name);
System.out.println("레벨: " + level);
System.out.println("포인트: " + point);
scan.close();
}
}
주소 복사
랜덤 이동
최신댓글