我使用了 ArrayList
来打印一个学生商店,但是遇到了一些问题。后来我创建了一个静态数组来保存这些不同的学生,现在我正在尝试找出可以用来写入它们的方法。以下是我的代码:
MainApp
import java.io.RandomAccessFile;
public class MainApp
{
public static void main(String[] args) throws Exception
{
new MainApp().start();
}
public void start()throws Exception
{
StudentStore details = new StudentStore();
Student a = new Student("Becky O'Brien", "DKIT26", "0876126944", "bexo@hotmail.com");
Student b = new Student("Fabio Borini", "DKIT28", "0876136944", "fabioborini@gmail.com");
Student c = new Student("Gaston Ramirez", "DKIT29", "0419834501", "gramirez@webmail.com");
Student d = new Student("Luis Suarez", "DKIT7", "0868989878", "luissuarez@yahoo.com");
Student e = new Student("Andy Carroll", "DKIT9", "0853456788", "carroll123@hotmail.com");
details.add(a);
details.add(b);
details.add(c);
details.add(d);
details.add(e);
//details.print();
RandomAccessFile file = new RandomAccessFile("ContactDetails.txt","rw");
Student[] students = {a,b,c,d,e};
for (int i = 0;i < students.length;i++)
{
file.writeByte(students[i]);
}
file.close();
}
}
这一行代码 file.writeByte(students[i]);
是错误的,我找不到适合的方法。错误信息显示类型为RandomAccessFile
的writeByte(int)
方法不适用于参数(Student
)。显然,这是因为writeBytes
方法不接受学生类型。
writeByte
需要一个整型参数,但你传入了一个完整的Student
对象。 - JonHBufferedWriter
,并且简单地实现自己的ToString()
方法来自定义学生打印输出的样式。 - JonH