Apabila berurusan dengan input dalam Java, mungkin terdapat situasi di mana anda tidak mengetahui bilangan baris yang akan anda baca terlebih dahulu. Ini adalah perkara biasa dalam cabaran pengekodan atau senario di mana anda membaca daripada fail atau strim sehingga tamat. Dalam siaran ini, saya akan menunjukkan kepada anda cara mudah untuk mengendalikan perkara ini menggunakan Java.
Bayangkan anda diberi bilangan baris yang tidak diketahui sebagai input. Tugas anda ialah membaca semua baris sehingga akhir fail (EOF) dan mencetak setiap baris, diawali dengan nombor barisnya.
Begini rupa input/output:
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 menyediakan cara yang berguna untuk menangani masalah sedemikian dengan kelas Pengimbas dan kaedah hasNext()nya. Kaedah ini membolehkan kami membaca input sehingga tiada lagi data untuk dibaca (EOF).
Jom selami terus kod:
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(); } }
Import Pakej Diperlukan: Kami mengimport java.util.Scanner untuk menggunakan kelas Pengimbas untuk input bacaan.
Memulakan Pengimbas: Kami mencipta objek Pengimbas untuk dibaca daripada input standard (System.in).
Baca Hingga EOF: Gelung for direka untuk membaca baris sehingga tiada lagi input. Syarat sc.hasNext() menyemak sama ada terdapat lebih banyak input untuk dibaca. Jika ada, ia membaca baris seterusnya dengan sc.nextLine().
Cetak dengan Nombor Baris: Untuk setiap baris yang dibaca, kami mencetaknya bersama nombor barisnya. Kami menggunakan pembilang gelung i yang bermula dari 1 dan bertambah dengan setiap lelaran.
Tutup Pengimbas: Walaupun tidak begitu diperlukan di sini, adalah amalan yang baik untuk menutup Pengimbas apabila anda selesai untuk mengelakkan kebocoran sumber.
Pendekatan ini mudah tetapi berkesan untuk membaca bilangan baris yang tidak diketahui sehingga EOF di Jawa. Ia berguna semasa pengaturcaraan kompetitif, tugas membaca fail atau sebarang situasi di mana anda berurusan dengan aliran data.
Atas ialah kandungan terperinci Baca Input Sehingga EOF (End-of-Fail) dan Nomborkan Baris Anda Dengan Mudah | Pengaturcaraan Kompetitif Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!