web-dev-qa-db-ja.com

EOF in java

C++では、EOFまで入力を読みたい場合は、次の方法でそれを行うことができます

while(scanf("%d",&n))
{
    A[i]=n;
    i++;
}

次に、このコードを./a.out <input.txtとして実行します。 Javaこのコードに相当するものは何ですか?

6
zer0nes

あなたはこれを行うことができます:

Scanner s = new Scanner(System.in);
while (s.hasNextInt()) {
    A[i] = s.nextInt();
    i++;
}
16
Ted Hopp
// assuming that reader is an instance of Java.io.BufferedReader
String line = null;
while ((line = reader.readLine()) != null) {
    // do something with every line, one at a time
}

問題が発生した場合はお知らせください。

11
hd1
 import Java.io.BufferedReader;
 import Java.io.FileReader;

BufferedReader br = null;  
     br = new BufferedReader(new FileReader(file));
       while ((line = br.readLine()) != null) {              

     }

    //using Scanner class

    Scanner scanner = new Scanner(file);
    while (scanner.hasNextLine()) {
      String line = scanner.nextLine();
      System.out.println(line);
   }
2

ここにJava BufferedReaderクラスとFileReaderクラスを使用する同等のコードがあります。

  import Java.io.BufferedReader;
  import Java.io.FileReader;
  import Java.io.IOException;

  public class SmallFileReader {
        public static void main(String[] args) throws IOException {
             BufferedReader br = new BufferedReader(new FileReader("Demo.txt"));
             String line=nul;
             while( (line=br.readLine()) != null) {
                    System.out.println(line);  
             }
  }
}
2
Vallabh Patade

私にとって本当に有効な唯一のもの(ファイルを作成する必要さえありません)

Scanner read = new Scanner(System.in);
String cadena;
boolean cond = true;
int i =0;
while (cond){
    cadena = read.nextLine();
    if(cadena.isEmpty())
        cond = false;
}
1
David

ここにJava BufferedReaderクラスとFileReaderクラスを使用する同等のコードがあります。

_  import Java.io.BufferedReader;
  import Java.io.FileReader;
  import Java.io.IOException;

  public class SmallFileReader {
        public static void main(String[] args) throws IOException {  
_

オプション1:
_String fileName = args[0];_
BufferedReader br = new BufferedReader(new FileReader(fileName));
オプション2:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter a file name: ");
String fileName = br.readLine();

_             //BufferedReader br = new BufferedReader(new FileReader("Demo.txt"));
             String line=null;
             while( (line=br.readLine()) != null) {
                    System.out.println(line);  
             }
  }
}  
_

@Vallabhコードにほとんど変更を加えませんでした。 @tomコマンドラインからファイル名を入力する場合は、最初のオプションを使用できます。
_Java SmallFileReader Hello.txt_
オプション2は、ファイルを実行するときにファイル名を尋ねます。

1
ramesh

これが私のJavaファイルの終わりまで入力を読み取るための同等のコードです:

import Java.util.Scanner;

public class EndOfFileSolutions {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        for(int i = 1; sc.hasNext()== true; i++){
            System.out.println(i + " " + sc.nextLine());
        }
    }
}

このコードは、以下のような出力を生成します-

入力例:

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.

この回答も問題なく機能します Hackerrank EOF problem

1
Md. Jamal Uddin

簡単な解決策は、Scannerクラスを使用することです。

以下のスニペットをご覧ください。

import Java.io.*;
import Java.util.*;

public class Solution {

    public static void main(String[] args) {

        Scanner s = new Scanner(System.in);
        while(s.hasNextLine())
        {
            String line = s.nextLine();
            System.out.println(line);
        }
    }
}