从数组写入文件

时间:2015-04-19 23:13:00

标签: java arrays

我一直在尝试在java中编写一个方法,将数据从数组写入文本文件,但是我遇到了两个错误。

public void WriteStudentDetailsToFile() {
  PrintWriter out = null;
  try {
    out = new PrintWriter("StudentDetails.txt");
  } catch (FileNotFoundException ex)  {
    System.out.println(ex.getMessage());
    System.out.println("in " + System.getProperty("user.dir"));
    System.exit(1);
  } 


  for (int i = 0; i < enrolment.length; i += 1) {
    if (enrolment[i] != null) {
        Student a = this.enrolment[i];
        if (a.getName().equals("") || a.getAddress().equals("") || a.getDOB().equals("") || a.getGender().equals("")) {
            break;
        } else {
            String record = a.getName() + "\t" + "0" + "\t" + a.getAddress() + "\t" a.getDOB() + "\t" + a.getGender();
            out.println(record);
        }
     }
   }
 }
}

这两个错误是

C:\ Users \ B00661059 \ Downloads \ Assignment 2 \ Assignment 2 \ Student_Enrolment.java:137:错误:';'预期                 字符串记录= a.getName()+“\ t”+“0”+“\ t”+ a.getAddress()+“\ t”a.getDOB()+“\ t”+ a.getGender();

^ C:\ Users \ B00661059 \ Downloads \ Assignment 2 \ Assignment 2 \ Student_Enrolment.java:137:错误:不是声明                 字符串记录= a.getName()+“\ t”+“0”+“\ t”+ a.getAddress()+“\ t”a.getDOB()+“\ t”+ a.getGender();

3 个答案:

答案 0 :(得分:1)

最明显的错误是你在这里错过了一个加号:+ "\t" a.getDOB() +

应该是

String record = a.getName() + "\t" + "0" + "\t" + a.getAddress() + "\t" + a.getDOB() + "\t" + a.getGender();

您可能还想了解如何在Student类中定义和使用toString()函数来控制对象的字符串表示形式。

答案 1 :(得分:1)

在第137行,您需要在此处添加连接运算符(+):

"\t" + a.getDOB()

答案 2 :(得分:0)

试试这个:

String record = a.getName() + "\t" + "0" + "\t" + a.getAddress() + "\t" + a.getDOB() + "\t" + a.getGender();

而不是:

String record = a.getName() + "\t" + "0" + "\t" + a.getAddress() + "\t" a.getDOB() + "\t" + a.getGender();

这也没有意义:

if (a.getName().equals("") || a.getAddress().equals("") || a.getDOB().equals("") || a.getGender().equals("")) {
        break;
    } 

由于你只对else分支感兴趣,你可以否定它。

if !(a.getName().equals("") || a.getAddress().equals("") || a.getDOB().equals("") || a.getGender().equals("")) {
        // Do what you want
    }