使用DataInputStream类和DataOutputStream类实现多条学生记录的保存与显示。学生记录包括学号、姓名、语文成绩、数学成绩。学生信息采用键盘输入,Java使用DataOutputStream类保存为文件,使用DataInputStream类读出数据,并显示。
时间: 2023-06-02 19:04:07 浏览: 113
好的,这个问题可以回答。以下是示例代码:
```java
import java.io.*;
public class StudentRecord {
public static void main(String[] args) throws IOException {
// 创建输入流和输出流
DataOutputStream dos = new DataOutputStream(new FileOutputStream("students.dat"));
DataInputStream dis = new DataInputStream(new FileInputStream("students.dat"));
// 输入学生记录
boolean flag = true;
while (flag) {
System.out.print("请输入学号:");
int id = Integer.parseInt(System.console().readLine());
System.out.print("请输入姓名:");
String name = System.console().readLine();
System.out.print("请输入语文成绩:");
float chinese = Float.parseFloat(System.console().readLine());
System.out.print("请输入数学成绩:");
float math = Float.parseFloat(System.console().readLine());
// 写入学生记录到文件
dos.writeInt(id);
dos.writeUTF(name);
dos.writeFloat(chinese);
dos.writeFloat(math);
System.out.print("是否继续输入?(Y/N)");
String choice = System.console().readLine();
if (choice.equalsIgnoreCase("N")) {
flag = false;
}
}
dos.close();
// 读取学生记录并显示
while (dis.available() > 0) {
int id = dis.readInt();
String name = dis.readUTF();
float chinese = dis.readFloat();
float math = dis.readFloat();
System.out.println("学号:" + id + ",姓名:" + name + ",语文成绩:" + chinese + ",数学成绩:" + math);
}
dis.close();
}
}
```
这个程序通过键盘输入学生记录,使用DataOutputStream类将学生记录写入文件,再使用DataInputStream类从文件中读取出学生记录并显示出来。
阅读全文