设计学生类Student,属性:学号(整型);姓名(字符串),选修课程(名称)及课程成绩(整型)。编写一个控制台程序,能够实现Student信息的保存、读取。具体要求:(1)提供Student信息的保存功能:通过控制台输入若干个学生的学号、姓名以及每个学生所修课程的课程名和成绩,将其信息保存到data.dat中;(2)数据读取显示:能够从data.dat文件中读取学生及其课程成绩并显示于控制台。(要求,学号和课程成绩按照整数形式(而非字符串形式)存储)
package practice;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Scanner;
public class HIK {
// 设计学生类Student,属性:学号(整型);姓名(字符串),
// 选修课程(名称)及课程成绩(整型)。编写一个控制台程序,
// 能够实现Student信息的保存、读取。具体要求:
// (1)提供Student信息的保存功能:
// 通过控制台输入若干个学生的学号、姓名以及每个学生所修课程的课程名和成绩,将其信息保存到data.dat中;
// (2)数据读取显示:
// 能够从data.dat文件中读取学生及其课程成绩并显示于控制台。
// (要求,学号和课程成绩按照整数形式(而非字符串形式)存储)
public static void main(String[] args) throws IOException, ClassNotFoundException {
// TODO 自动生成的方法存根
Scanner scanner=new Scanner(System.in);
int SnoInt=scanner.nextInt();
String nameString=scanner.next();
String subjectString=scanner.next();
int achievementInt=scanner.nextInt();
Student st1=new Student();
st1.setting(SnoInt, nameString,subjectString, achievementInt);
FileOutputStream oout=new FileOutputStream("C:\\Users\\13300\\Desktop\\data.dat");
ObjectOutputStream oos1=new ObjectOutputStream(oout);
oos1.writeObject(st1);
oos1.flush();
oos1.close();
FileInputStream fos=new FileInputStream("C:\\Users\\13300\\Desktop\\data.dat");
ObjectInputStream oos=new ObjectInputStream(fos);
Student stui=(Student)oos.readObject();
System.out.println(stui.getSnoInt());
System.out.println(stui.getNameString());
System.out.println(stui.getSubjectString());
System.out.println(stui.getAchievementInt());
}
}
class Student implements Serializable{
private int SnoInt;
private String nameString;
private String subjectString;
private int achievementInt;
public void setting(int SnoInt, String nameString,String subjectString, int achievementInt) {
this.SnoInt=SnoInt;
this.nameString=nameString;
this.subjectString=subjectString;
this.achievementInt=achievementInt;
}
public int getSnoInt() {
return SnoInt;
}
public String getNameString() {
return nameString;
}
public String getSubjectString() {
return subjectString;
}
public int getAchievementInt() {
return achievementInt;
}
}