Scanner
- 화면으로부터 데이터를 입력받는 기능을 제공해주는 클래스
- 화면뿐만 아니라 파일로부터 입력 가능
사용순서
- import문 추가
- Scanner 객체 생성
- Scanner 객체 사용
Scanner 메소드
문자: .charAt() - String 문자열 해당 인덱스를 문자로 변환
정수: .nextInt()
실수: .nextFloat(), .nextDouble()
한 행: .nextLine(), .next()
// import
import java.util.*;
// 리터럴 초기화
int nData = 0;
double dData = 0;
String str = "";
String str1 = "";
char ch = ' '; // '\u0000' or ' '(빈공백) 으로 초기화
// Scanner 객체 생성
Scanner scanner = new Scanner(System.in); // System.in 화면 입력
// Scanner 객체 사용
int nData = scanner.nextInt(); // 화면에서 입력받은 정수를 nData 변수에 저장
double dData = scannner.nextDouble(); //화면에서 입력받은 실수를 dData 변수에 저장
String str = scanner.nextLine(); // 한 행을 입력받아 str 변수에 저장
String str1 = scanner.next(); // 입력값 중 공백 이전까지의 값만 저장
scanner.nextLine(); // primitive(기본자료형)은 입력값과 개행문자(Enter)가 같이 입력되기 때문에
// .nextLine()으로 버퍼에 남아있는 개행문자를 빼준다.
String line = scanner.netxtLine(); // char 문자를 받아올 문자열 생성
ch = line.charAt(0); // line 문자열에서 0번째 인덱스를 문자로 변환하여 ch 변수에 저장
개행문자를 제거하지 않았을 시 오류
예제
public void printValue() {
Scanner scanner = new Scanner(System.in);
char cGender = ' ';
String sName = "";
int nAge = 0;
double dHeight = 0;
System.out.print("What's your name? ");
sName = scanner.nextLine();
System.out.print("How old are you? ");
nAge = scanner.nextInt();
System.out.print("What's your height(e.g. 180.8)? ");
dHeight = scanner.nextDouble();
System.out.print("What's your gender(M/F)? ");
scanner.nextLine(); // primitive(기본자료형)은 입력값과 개행문자(Enter)가 같이 입력된다.
// .nextLine()으로 이전 dHeight 버퍼에 남아있는 개행문자를 빼준다.
String line = scanner.nextLine(); // 문자로 변환 할 문자열을 생성 후 입력
cGender = line.charAt(0); // line 문자열에서 0번째 인덱스를 문자로 변환 후 저장
System.out.println("Your NAME is " + sName +
", Your AGE is " + nAge +
", Your Height is " + dHeight +
", Your GENDER is " + cGender);
}
결과값
What's your name? 자체임상실험
How old are you? 780
What's your height(e.g. 180.8)? 180.2
What's your gender(M/F)? M
Your NAME is 자체임상실험, Your AGE is 780, Your Height is 180.2, Your GENDER is M
'Developer TABLE > Java' 카테고리의 다른 글
형변환 연산자(Casting) (0) | 2021.08.23 |
---|---|
오버플로우(Overflow)란? (0) | 2021.08.20 |
상수(Constant)란? (0) | 2021.08.20 |