java공부

자바/java Scanner 사용법 알아보자

이쟤키 2021. 7. 18. 14:35
반응형

Scanner위치는

java.util.Scanner

불러오는 법은

import java.util.Scanner;

Scanner (변수명) = new Scanner(System.in);

 

사용법

next 계열

(입력값 이전에 만난 공백/개행문자는 무시하고, 입력값 이후의 처음 만나는 공백/개행문자 전까지만 버퍼에서 읽어옴.

import java.util.Scanner;

Scanner sc = new Scanner(System.in);
System.out.print("이름 : ");
String name = sc.next();
System.out.println("입력값 : " + name);

System.out.print("평균점수 : ");
double dnum = sc.nextDouble();
System.out.println("입력값 : " + 평균점수);

 

-String, int, Double ... 등 기본형 가능한데 char는 안됨

 

char 사용 방법

ex) 성별
char sex = sc.next().charAt(0);

풀어서 쓴다면
String temp = sc.next();
char sex = temp.charAt(0);

즉 String, int Double등에서 입력받고 첫번째 글자를 가져오는 형식

 

nextLine 계열

(처음만난 개행문자까지 버퍼에서 읽어와서 개행문자를 제거 후 값을 리턴함.)

예) 주소사용
System.out.print("주소 : ");
String addr = sc.nextLine();
System.out.println("입력값 : " + addr);

next계열을 사용하고 nextLine계열을 사용할 때

nextLine내용이 먹어버릴 일이 발생한다.

그럴때는 next계열 다음에 nextLine을 한번 더 호출해 주면 해결된다.

System.out.print("이름 : ");
String name = sc.next();
System.out.println("입력값 : " + name);

sc.nextLine(); //개행문자 버리기 용
		
System.out.print("주소 : ");
String addr = sc.nextLine(); // 공백이 포함된 문자열은 nextLine으로 처리해야 한다.
System.out.println("입력값 : " + addr);