> Java > java지도 시간 > EOF(파일 끝)까지 입력을 읽고 쉽게 줄 번호 매기기 | 경쟁 프로그래밍 Java

EOF(파일 끝)까지 입력을 읽고 쉽게 줄 번호 매기기 | 경쟁 프로그래밍 Java

王林
풀어 주다: 2024-09-03 13:08:01
원래의
947명이 탐색했습니다.

Read Input Until EOF (End-of-File) and Number Your Lines Effortlessly | Competitive Programming Java

Java에서 파일 끝까지(EOF) 입력을 읽는 방법

Java에서 입력을 처리할 때 읽어야 할 줄 수를 미리 알 수 없는 상황이 있을 수 있습니다. 이는 파일이나 스트림에서 끝까지 읽는 코딩 문제나 시나리오에서 흔히 발생합니다. 이번 포스팅에서는 Java를 사용하여 이를 처리하는 간단한 방법을 보여드리겠습니다.

문제 개요

알 수 없는 수의 줄이 입력되었다고 상상해 보세요. 당신의 임무는 파일 끝(EOF)까지 모든 줄을 읽고 줄 번호 앞에 각 줄을 인쇄하는 것입니다.

입력/출력은 다음과 같습니다.

입력:

Hello world
I am a file
Read me until end-of-file.
로그인 후 복사

산출:

1 Hello world
2 I am a file
3 Read me until end-of-file.
로그인 후 복사

자바 접근 방식

Java는 Scanner 클래스와 해당 hasNext() 메소드를 통해 이러한 문제를 처리하는 편리한 방법을 제공합니다. 이 방법을 사용하면 더 이상 읽을 데이터가 없을 때까지(EOF) 입력을 읽을 수 있습니다.

코드 솔루션

코드를 바로 살펴보겠습니다.

import java.io.*;
import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        for (int i = 1; sc.hasNext(); i++) {      
            String line = sc.nextLine();
            System.out.println(i + " " + line);
        }

        sc.close();
    }
}
로그인 후 복사

설명

  1. 필수 패키지 가져오기: 입력 읽기에 Scanner 클래스를 사용하기 위해 java.util.Scanner를 가져옵니다.

  2. 스캐너 초기화: 표준 입력(System.in)에서 읽을 Scanner 개체를 생성합니다.

  3. EOF까지 읽기: for 루프는 더 이상 입력이 없을 때까지 줄을 읽도록 설계되었습니다. sc.hasNext() 조건은 읽을 입력이 더 있는지 확인합니다. 있는 경우 sc.nextLine()을 사용하여 다음 줄을 읽습니다.

  4. 줄 번호로 인쇄: 읽은 모든 줄에 대해 줄 번호와 함께 인쇄합니다. 우리는 1부터 시작하고 각 반복마다 증가하는 루프 카운터 i를 사용합니다.

  5. 스캐너 닫기: 여기서 꼭 필요한 것은 아니지만 리소스 누출을 방지하려면 작업이 끝나면 스캐너를 닫는 것이 좋습니다.

주요 시사점

  • hasNext() 메소드가 있는 Java의 Scanner 클래스는 EOF까지 입력을 읽는 데 유용한 도구입니다.
  • sc.nextLine()을 사용하여 입력의 각 줄을 읽습니다.
  • 간단한 카운터를 사용하여 줄 번호를 추적하세요.

최종 생각

이 접근 방식은 Java에서 EOF까지 알 수 없는 수의 줄을 읽는 데 간단하면서도 효과적입니다. 경쟁적인 프로그래밍, 파일 읽기 작업 또는 데이터 스트림을 처리하는 모든 상황에서 유용합니다.

즐거운 코딩하세요! ?

위 내용은 EOF(파일 끝)까지 입력을 읽고 쉽게 줄 번호 매기기 | 경쟁 프로그래밍 Java의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿