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(); } }
필수 패키지 가져오기: 입력 읽기에 Scanner 클래스를 사용하기 위해 java.util.Scanner를 가져옵니다.
스캐너 초기화: 표준 입력(System.in)에서 읽을 Scanner 개체를 생성합니다.
EOF까지 읽기: for 루프는 더 이상 입력이 없을 때까지 줄을 읽도록 설계되었습니다. sc.hasNext() 조건은 읽을 입력이 더 있는지 확인합니다. 있는 경우 sc.nextLine()을 사용하여 다음 줄을 읽습니다.
줄 번호로 인쇄: 읽은 모든 줄에 대해 줄 번호와 함께 인쇄합니다. 우리는 1부터 시작하고 각 반복마다 증가하는 루프 카운터 i를 사용합니다.
스캐너 닫기: 여기서 꼭 필요한 것은 아니지만 리소스 누출을 방지하려면 작업이 끝나면 스캐너를 닫는 것이 좋습니다.
이 접근 방식은 Java에서 EOF까지 알 수 없는 수의 줄을 읽는 데 간단하면서도 효과적입니다. 경쟁적인 프로그래밍, 파일 읽기 작업 또는 데이터 스트림을 처리하는 모든 상황에서 유용합니다.
위 내용은 EOF(파일 끝)까지 입력을 읽고 쉽게 줄 번호 매기기 | 경쟁 프로그래밍 Java의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!