반응형
Scanner란?
C언어의 scanf함수 기능과 비슷한 자바 클래스이다.
JDK 1.5부터 사용 가능하고 정수 실수 문자열 등을 입력받을 수 있다.
Scanner사용법
import java.util.Scanner;
Scanner클래스를 사용하기 위해서는 C언어의 #include <stdio.h>와 같이
import java.util.Scanner;구문을 맨 위에 추가해주어야 한다.
이 과정을 마치면 Scanner 객체를 생성하고 객체에 해당하는 메소드를 사용하는 순서로
키보드의 입력값을 전달받을 수 있다.
import java.util.Scanner;
public class test{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
}
}
Scanner Class method
Scanner 클래스는 입력버퍼에서 문자열 형태로 문자를 읽어온다. ex) scanner.next();
문자열 형태가 아닌 정수나 실수형으로 입력버퍼에서 읽어오기 위해서는
nextInt()메소드가 아닌 다른 메소드를 사용해야 한다.
import java.util.Scanner
public class test{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String str=scanner.next();
System.out.println(str);
scanner.close();
}
}
대표적으로 많이 사용하는 메소드들이다.
위의 함수들을 이용하여 입력을 무제한으로 받고 입력 받은 내용을 출력하고 싶다면 아래 코드를 참고 바란다.
import java.util.Scanner;
public class test{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
while(scanner.hasNext()){
System.out.println(scanner.next());
}
scanner.close();
}
}
주의사항
Scanner객체를 사용하고 나서는 무조건 close()메소드를 사용해서 입력버퍼를 종료시켜야 한다.
scanner.close()
ex)
import java.util.Scanner;
public class test{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String str=scanner.next();
System.out.println(str);
scanner.close();
}
}
close()메소드 사용시 주의할 점
import java.util.Scanner;
public class test{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String str=scanner.next();
System.out.println(str);
scanner.close();
Scanner scanner1=new Scanner(System.in);
String str2=scanner1.next();
System.out.println(str2);
scanner1.close();
}
}
close()메소드를 두 번 중복하여 사용할 시 입력 버퍼와의 연결이 끊긴다.
즉, 소스코드 내에서 close메소드를 한 번만 사용해줘야 한다.
반응형
'프로그래밍' 카테고리의 다른 글
[Network] NAT란 (0) | 2021.07.08 |
---|---|
[ncurses] linux ui library (0) | 2021.05.16 |
[JAVA] 접근 지정자 (0) | 2021.05.15 |
[C++] 복사 생성자, 깊은 복사와 얕은 복사 (0) | 2021.04.14 |
[자료구조] 스택과 큐 (0) | 2021.04.12 |