首頁 > Java > java教程 > 主體

讀取輸入直到 EOF(檔案結束)並輕鬆地對行進行編號 | Java 程式設計競賽

王林
發布: 2024-09-03 13:08:01
原創
908 人瀏覽過

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 方法

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. 導入所需的套件:我們導入 java.util.Scanner 以使用 Scanner 類別來讀取輸入。

  2. 初始化 Scanner:我們建立一個 Scanner 物件來從標準輸入 (System.in) 讀取。

  3. 讀取直到 EOF:for 迴圈旨在讀取行,直到沒有更多輸入。條件 sc.hasNext() 檢查是否有更多輸入要讀取。如果有,則使用 sc.nextLine() 讀取下一行。

  4. 列印行號:對於讀取的每一行,我們都會列印它及其行號。我們使用循環計數器 i,它從 1 開始,並隨著每次迭代而遞增。

  5. 關閉掃描器:雖然這裡不是絕對必要的,但完成後關閉掃描器是一個很好的做法,以避免資源洩漏。

重點

  • Java 中的 Scanner 類別及其 hasNext() 方法是讀取輸入直到 EOF 的絕佳工具。
  • 使用 sc.nextLine() 讀取每一行輸入。
  • 使用簡單的計數器追蹤行號。

最後的想法

這種方法簡單而有效,可以在 Java 中讀取未知行數直到 EOF。它在競爭性程式設計、檔案讀取任務或處理資料流的任何情況下都會派上用場。

快樂編碼! ?

以上是讀取輸入直到 EOF(檔案結束)並輕鬆地對行進行編號 | Java 程式設計競賽的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板