스캐너 클래스 사용 예제

CosmoNumb·2024년 7월 28일
0

java

목록 보기
9/24

Scanner 클래스는 Java에서 표준 입력, 파일, 문자열 등을 통해 입력을 읽어들이기 위해 사용됩니다. Scanner는 다양한 입력 소스를 지원하며, 특히 콘솔 입력을 처리하는 데 자주 사용됩니다. 위 코드에서는 콘솔로부터 입력을 받아 특정 작업을 수행하는 예제입니다.

Scanner 클래스 사용 예제

다음은 Scanner 클래스를 사용하여 콘솔로부터 입력을 읽어들이는 방법에 대한 설명입니다.

1. Scanner 객체 생성

Scanner scanner = new Scanner(System.in);
  • new Scanner(System.in): System.in은 표준 입력 스트림을 나타내며, 이를 통해 콘솔로부터 입력을 받을 수 있습니다.
  • scanner 객체를 통해 입력을 읽어들일 준비를 합니다.

2. 입력을 읽어들이는 반복문

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()은 사용자가 입력한 한 줄의 문자열을 읽어들입니다.
    • 사용자가 "Enter" 키를 누르면 입력이 완료되고, input 변수에 저장됩니다.
  • 종료 조건: if (input.equals("exit")) { break; }
    • 사용자가 "exit"를 입력하면, 루프를 종료합니다.
  • 메시지 전송: networkService.sendMessage(input);
    • 입력된 문자열을 networkService 객체를 통해 전송합니다.
  • 출력: System.out.println();
    • 줄바꿈을 출력하여 다음 입력을 받을 준비를 합니다.

3. 종료 메시지

System.out.println("프로그램을 정상 종료합니다.");
  • 루프가 종료된 후, 프로그램이 정상적으로 종료되었음을 알리는 메시지를 출력합니다.

Scanner 클래스의 주요 메서드

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에서 입력을 처리하는 데 매우 유용한 도구이며, 특히 콘솔 기반의 간단한 애플리케이션을 작성할 때 자주 사용됩니다.

0개의 댓글