程序无法写入(二进制文件)

时间:2015-11-17 05:03:11

标签: java netbeans

我正在开设一个课程项目,并且在使用netbeans制作程序时遇到了一个问题。我用blueJ编写了程序,一切都很好,但每当我把所有内容都移到netbeans上时我遇到了一些问题。 这是主要方法: 注意:那里还有一些其他代码,但它没有出现在netbeans中,所以我就把它留了下来。但它仍然在java文件中。

/** 
 * @param args the command line arguments
 */
public static void main(String args[]) throws IOException {

    StudentInfo myStudents = new StudentInfo();
    myStudents.open("students.dat");

    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new NewJFrame().setVisible(true);

        }
    });
}

这是我收到错误的地方:

myStudent.writeStudent(myStudents);

说找不到符号myStudents。

最后这里是writeStudents

public void writeStudent(Student inS) throws IOException
{
    int n = inS.getStudentID() - 901000000;
    students.seek(n * RECORD_SIZE);
    students.writeInt(inS.getStudentID());
    String lastName = padString(inS.getLastName());

    for (int i=0; i < STRING_SIZE; i++)
        students.writeChar(lastName.charAt(i));

    String firstName = padString(inS.getFirstName());

    for (int i=0; i<STRING_SIZE; i++)
        students.writeChar(firstName.charAt(i));

    String address = padString(inS.getAddress());

    for(int i=0; i<STRING_SIZE; i++)
        students.writeChar(address.charAt(i));

    students.writeDouble(inS.getWageRate());
    students.writeDouble(inS.getHoursWorked());
}

1 个答案:

答案 0 :(得分:0)

myStudents是main()中的局部变量,这意味着除了main函数之外,你不能在程序中的任何其他位置使用它,除非有另一个具有相同名称的变量。另请注意,myStudents if StudentInfo类型但writeStudent需要类型为Student的参数。