用Java实现以下描述:输入5个学生的信息(包含学号、姓名、3科成绩),统计各学生的总分,然后将学生信息和统计结果存入二进制数据文件STUDENT.DAT中。完整代码即可
时间: 2023-02-06 20:46:52 浏览: 260
以下是用 Java 实现输入 5 个学生的信息(包含学号、姓名、3 科成绩),统计各学生的总分,然后将学生信息和统计结果存入二进制数据文件 STUDENT.DAT 中的完整代码:
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.util.Scanner;
class Student {
int id;
String name;
int score1;
int score2;
int score3;
int total;
}
public class Main {
public static void main(String[] args) {
Student[] students = new Student[5];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
students[i] = new Student();
System.out.print("请输入学号:");
students[i].id = scanner.nextInt();
scanner.nextLine(); // 把换行符读入
System.out.print("请输入姓名:");
students[i].name = scanner.nextLine();
System.out.print("请输入第一科成绩:");
students[i].score1 = scanner.nextInt();
System.out.print("请输入第二科成绩:");
students[i].score2 = scanner.nextInt();
System.out.print("请输入第三科成绩:");
students[i].score3 = scanner.nextInt();
students[i].total = students[i].score1 + students[i].score2 + students[i].score3;
}
try {
FileOutputStream fos = new FileOutputStream("STUDENT.DAT");
DataOutputStream dos = new DataOutputStream(fos);
for (int i = 0; i < 5; i++) {
dos.writeInt(students[i].id);
dos.writeUTF(students[i].name);
dos.writeInt(students[i].score1);
dos.writeInt(students[i].score2);
dos.writeInt(students[i].score3);
dos.writeInt(students[i].total);
}
dos.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在这段代码中,我们首先定义了
阅读全文