ホームページ > 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 のアプローチ

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. Scanner の初期化: 標準入力 (System.in) から読み取る Scanner オブジェクトを作成します。

  3. EOF まで読み取る: for ループは、入力がなくなるまで行を読み取るように設計されています。条件 sc.hasNext() は、さらに読み取る入力があるかどうかをチェックします。存在する場合は、sc.nextLine().

  4. で次の行を読み取ります。
  5. 行番号付きで印刷: 読み取られた各行について、行番号とともに印刷します。 1 から始まり、反復ごとに増加するループ カウンター i を使用します。

  6. スキャナを閉じる: ここで厳密に必要というわけではありませんが、リソース リークを避けるために、作業が完了したらスキャナを閉じることをお勧めします。

重要なポイント

  • Java の Scanner クラスとその hasNext() メソッドは、EOF まで入力を読み取るための優れたツールです。
  • sc.nextLine() を使用して入力の各行を読み取ります。
  • 単純なカウンターを使用して行番号を追跡します。

最終的な考え

このアプローチはシンプルですが、Java で EOF まで未知の行数を読み取る場合に効果的です。これは、競技プログラミング、ファイル読み取りタスク、またはデータのストリームを扱うあらゆる状況で便利です。

コーディングを楽しんでください! ?

以上がEOF (ファイルの終わり) まで入力を読み取り、行に簡単に番号を付ける |競技プログラミング Javaの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート