我有一个作业要归因于创建一个程序,该程序可以让用户输入5个字符串,将它们保存到文本文件中,然后输出文本文件的行,但是在输入字符串之后,该程序仅显示“ null”。

import java.io.*;
import java.util.*;

public class WriteLines
{
  public static void main(String[] args) throws IOException
  {
    String k;
    String fileName = "Input.txt";
    String aLine;

    Scanner sc = new Scanner(System.in);
    FileWriter fw = new FileWriter("Input.txt");
    BufferedWriter bw = new BufferedWriter(fw);
    PrintWriter pw = new PrintWriter(bw);

    for(int i=0; i<5;i++)
    {
        System.out.println("Enter a String of text: ");
        k=sc.nextLine();
        pw.println(k);
    }
    pw.close();

    FileReader fr = new FileReader(fileName);
    BufferedReader bl = new BufferedReader(fr);

    while((aLine = bl.readLine()) !=null);
    {
        System.out.println(aLine);
    }

    bl.close();
  }
}

最佳答案

查看您的while循环,最后您会看到;,这意味着:

while ((aLine = bl.readLine()) != null) {
    ;
}
{
    System.out.println(aLine);
}




循环一直运行到aLine == null,因此循环结束后打印aLine将打印null。删除此;字符将使您的代码正常工作。

10-05 19:06