9

C ++では、EOFまで入力を読み取りたい場合は、次の方法で読み取ることができます。

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

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

4

12 に答える 12

20

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

Scanner s = new Scanner(System.in);
while (s.hasNextInt()) {
    A[i] = s.nextInt();
    i++;
}
于 2012-12-18T06:18:27.790 に答える
11
// 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
}

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

于 2012-12-18T06:19:46.693 に答える
3
 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);
   }
于 2012-12-18T06:19:23.573 に答える
3

以下は、BufferedReader クラスと FileReader クラスを使用した同等の Java コードです。

  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 では、ファイルを実行するときにファイル名を尋ねられます。

于 2012-12-18T07:38:06.473 に答える
2

以下は、BufferedReader クラスと FileReader クラスを使用した同等の Java コードです。

  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);  
             }
  }
}
于 2012-12-18T06:20:11.897 に答える
0
Scanner scanner = new Scanner(System.in);
int c = 0;
while(scanner.hasNext()){
  System.out.println(++c + " " + scanner.nextLine());
}
scanner.close();
// use while instead of normal for loop. 
// If you need to read a file than BufferReader is the best way to do it, as explained above.
于 2020-10-03T18:49:59.793 に答える