본문 바로가기
IT/JAVA

[JAVA/자바] - Scanner 클래스 ( 사용법, next, nextLine)

by 가아앗 2022. 11. 2.
반응형

 Scanner

 

  • Scanner클래스를 사용하면 사용자와 상호작용할 수 있다.
  • Scanner sc = new Scanner(System.in); 을 사용해서 클래스 객체를 생성한다.

 

 

자바에서 제공하는 라이브러리를 가져오기 위해서는 import를 해준것이다.

System.in = 콘솔창에서 입력한 데이터

 

sc nextln( )를 통해 사용자가 입력한 int형 데이터를 i에 넣어주었다.

 

입력 받은 데이터는 내부적으로 어떠한 처리를 한 뒤에 다시 사용자에게 그 값을 반환할 수 있습니다.

 

sc.close( ); = 입출력을 닫아줌으로써 프로그램을 종료시킨다.

 

출력 (123을 사용자가 입력했다는 가정)

정수를 입력하세요 :
123
입력된 정수는 123 입니다.

 

 

 File 입출력

 

input.txt에 있는 정수에 각각 10을 곱해서 출력하는 코드

 

input.txt 파일이 없거나 값이 없을 경우  try - catch문을 통해서 " 파일을 읽어오는 도중에 오류가 발생했습니다. "를 출력.

 

출력 (input.txt에 1,2,3의 데이터가 있다고 가정)

10
20
30

 

 

 next(), nextLine()의 차이

 

Scanner의 주요 메소드
 short nextShort()  short 타입으로 리턴 
 int nextInt()  int 타입으로 리턴
 long nextLong()  long 타입으로 리턴 
 float nextFloat()  float 타입으로 리턴 
 double nextDouble()  double 타입으로 리턴 

* 헷갈리기 쉬운 next, nextLine을 예제로 설명해보겠습니다.

 

next( )는 공백 단위로 입력을 받고 nextLine( )은 Enter 단위로 입력을 받습니다.

 

next( )를 사용해서 "자바를 배운다." 를 입력한다면 자바만 저장이되고

nextLine()을 이용해서 "자바를 배운다." 를 입력한다면 자바를 배운다.가 그대로 저장이 된다.

 

 

- 주의사항

출력

정수1 입력: 
1
1
문자1 입력: 

정수2 입력: 
2
2
문자2 입력: 
자바를 공부한다.
자바를

문자1의 next.Line ( )은 건너뛰고 정수 2입력이 실행되었다.

 

정수1의 nextint( )은 int형 타입만 받아서 반환하는데 이때 누른 'Enter'값이 다음 문자1의 nextLine( )에 반형되어서 종료된것입니다.

 

반응형

댓글