Scanner
클래스는 Java에서 표준 입력, 파일, 문자열 등을 통해 입력을 읽어들이기 위해 사용됩니다. Scanner
는 다양한 입력 소스를 지원하며, 특히 콘솔 입력을 처리하는 데 자주 사용됩니다. 위 코드에서는 콘솔로부터 입력을 받아 특정 작업을 수행하는 예제입니다.
다음은 Scanner
클래스를 사용하여 콘솔로부터 입력을 읽어들이는 방법에 대한 설명입니다.
Scanner scanner = new Scanner(System.in);
new Scanner(System.in)
: System.in
은 표준 입력 스트림을 나타내며, 이를 통해 콘솔로부터 입력을 받을 수 있습니다.scanner
객체를 통해 입력을 읽어들일 준비를 합니다.while (true) {
System.out.print("전송할 문자: ");
String input = scanner.nextLine();
if (input.equals("exit")) {
break;
}
networkService.sendMessage(input);
System.out.println();
}
while (true)
는 무한 루프를 의미하며, 특정 조건이 만족될 때까지 계속 반복됩니다.System.out.print("전송할 문자: ");
는 사용자에게 입력을 요청하는 메시지를 출력합니다.String input = scanner.nextLine();
scanner.nextLine()
은 사용자가 입력한 한 줄의 문자열을 읽어들입니다.input
변수에 저장됩니다.if (input.equals("exit")) { break; }
networkService.sendMessage(input);
networkService
객체를 통해 전송합니다.System.out.println();
System.out.println("프로그램을 정상 종료합니다.");
Scanner
클래스는 다양한 메서드를 제공하여 입력을 읽어들일 수 있습니다.
nextLine()
: 한 줄의 입력을 문자열로 읽어들입니다.next()
: 공백을 기준으로 한 단어를 문자열로 읽어들입니다.nextInt()
: 정수를 읽어들입니다.nextDouble()
: 실수를 읽어들입니다.hasNext()
: 다음 입력이 있는지 여부를 확인합니다.hasNextLine()
: 다음 줄의 입력이 있는지 여부를 확인합니다.close()
: 스캐너를 닫아 더 이상 입력을 받지 않도록 합니다.다음은 Scanner
클래스를 사용하는 간단한 예제입니다.
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 스캐너 객체 생성
while (true) {
System.out.print("전송할 문자: "); // 사용자에게 입력 요청
String input = scanner.nextLine(); // 한 줄의 입력을 읽어들임
if (input.equals("exit")) { // "exit" 입력 시 루프 종료
break;
}
// 입력된 문자열 처리 (예: networkService.sendMessage(input);)
System.out.println("입력된 문자: " + input); // 입력된 문자열 출력
System.out.println();
}
System.out.println("프로그램을 정상 종료합니다."); // 종료 메시지 출력
scanner.close(); // 스캐너 닫기
}
}
Scanner
객체를 더 이상 사용하지 않을 때는 close()
메서드를 호출하여 자원을 해제하는 것이 좋습니다.Scanner
클래스는 Java에서 입력을 처리하는 데 매우 유용한 도구이며, 특히 콘솔 기반의 간단한 애플리케이션을 작성할 때 자주 사용됩니다.