Heim > Java > javaLernprogramm > Hauptteil

Lesen Sie Eingaben bis EOF (End-of-File) und nummerieren Sie Ihre Zeilen mühelos | Wettbewerbsfähige Programmierung Java

王林
Freigeben: 2024-09-03 13:08:01
Original
903 Leute haben es durchsucht

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

So lesen Sie Eingaben bis zum Ende der Datei (EOF) in Java

Beim Umgang mit Eingaben in Java kann es Situationen geben, in denen Sie nicht im Voraus wissen, wie viele Zeilen Sie lesen werden. Dies kommt häufig bei Codierungsherausforderungen oder Szenarios vor, in denen Sie eine Datei oder einen Stream bis zum Ende lesen. In diesem Beitrag zeige ich Ihnen eine einfache Möglichkeit, dies mit Java zu handhaben.

Problemübersicht

Stellen Sie sich vor, Sie erhalten eine unbekannte Anzahl Zeilen als Eingabe. Ihre Aufgabe besteht darin, alle Zeilen bis zum Ende der Datei (EOF) zu lesen und jede Zeile mit der vorangestellten Zeilennummer auszudrucken.

So sieht die Eingabe/Ausgabe aus:

Eingang:

Hello world
I am a file
Read me until end-of-file.
Nach dem Login kopieren

Ausgabe:

1 Hello world
2 I am a file
3 Read me until end-of-file.
Nach dem Login kopieren

Der Java-Ansatz

Java bietet eine praktische Möglichkeit, solche Probleme mit der Scanner-Klasse und ihrer hasNext()-Methode zu lösen. Mit dieser Methode können wir Eingaben lesen, bis keine Daten mehr zum Lesen vorhanden sind (EOF).

Code-Lösung

Lassen Sie uns direkt in den Code eintauchen:

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();
    }
}
Nach dem Login kopieren

Erläuterung

  1. Erforderliche Pakete importieren: Wir importieren java.util.Scanner, um die Scanner-Klasse zum Lesen von Eingaben zu verwenden.

  2. Scanner initialisieren: Wir erstellen ein Scannerobjekt zum Lesen aus der Standardeingabe (System.in).

  3. Bis zum EOF lesen: Die for-Schleife ist so konzipiert, dass sie Zeilen liest, bis keine Eingabe mehr erfolgt. Die Bedingung sc.hasNext() prüft, ob weitere Eingaben zu lesen sind. Wenn ja, liest es die nächste Zeile mit sc.nextLine().

  4. Mit Zeilennummer drucken: Für jede gelesene Zeile drucken wir sie zusammen mit ihrer Zeilennummer aus. Wir verwenden einen Schleifenzähler i, der bei 1 beginnt und sich mit jeder Iteration erhöht.

  5. Scanner schließen: Obwohl dies hier nicht unbedingt erforderlich ist, empfiehlt es sich, den Scanner zu schließen, wenn Sie fertig sind, um Ressourcenlecks zu vermeiden.

Wichtige Erkenntnisse

  • Die Scanner-Klasse in Java ist mit ihrer hasNext()-Methode ein großartiges Werkzeug zum Lesen von Eingaben bis zum EOF.
  • Verwenden Sie sc.nextLine(), um jede Eingabezeile zu lesen.
  • Verfolgen Sie die Zeilennummer mit einem einfachen Zähler.

Letzte Gedanken

Dieser Ansatz ist einfach, aber effektiv, um eine unbekannte Anzahl von Zeilen bis zum EOF in Java zu lesen. Es ist praktisch bei der Programmierung von Wettbewerben, beim Lesen von Dateien oder in jeder Situation, in der Sie mit Datenströmen zu tun haben.

Viel Spaß beim Codieren! ?

Das obige ist der detaillierte Inhalt vonLesen Sie Eingaben bis EOF (End-of-File) und nummerieren Sie Ihre Zeilen mühelos | Wettbewerbsfähige Programmierung Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage