A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© _J2EE_LiXiZhen 中级黑马   /  2017-11-20 22:26  /  1011 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有学生类包含学号,姓名,省份证号,Java成绩,数学成绩,英语成绩等成员变量,提供构造方法和setter和getter方法。
要求:
        * 学生信息及成绩保存到C盘的save.txt文件中
        * 学生身份证号码不能保存到文件中。
        * 程序运行时如果save.txt不存在,则
从键盘录入1个学生信息,信息录入格式如下:
        ***** 录入学生信息 *****
        请输入学号:9527
        请输入姓名:华安
        请输入身份证号:2203919831234543
        请输入Java成绩:90
        请输入数学成绩:80
        请输入英语成绩:88

        根据录入的信息创建学生对象并将学生对象保存到C盘下的save.txt文件中。
        * 如果程序运行时,save.txt文件已经存在,则显示学生信息。格式如下:
        **** 学生基本信息 *****
        学号  姓名 省份证号  Java成绩  数学成绩  英语成绩
        9527  华安   null      90        80        88

[Java] 纯文本查看 复制代码
public class Test1 {
	public static void main(String[] args) throws IOException, ClassNotFoundException {
		File file = new File("save.txt");
		// 判断文件是否存在
		if (file.exists()) {
			// 存在就显示学生信息
			ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
			System.out.println("**** 学生基本信息 *****");
			System.out.println("学号\t姓名\t身份证号\tJava成绩\t数学成绩\t英语成绩");
			// 读取学生对象
			Student stu = (Student) ois.readObject();
			StringBuilder sb = new StringBuilder();
			sb.append(stu.getCode()).append("\t").append(stu.getName()).append("\t");
			sb.append(stu.getCard()).append("\t").append(stu.getJavaScore()).append("\t");
			sb.append(stu.getMathScore()).append("\t").append(stu.getEngScore()).append("\t");
			System.out.println(sb.toString());
		} else {
			//如果不存在,就创建学生对象并写入save.txt文本中
			Scanner sc = new Scanner(System.in);
			System.out.println("请输入学生学号:");
			String code = sc.next();
			System.out.println("请输入学生姓名:");
			String name = sc.next();
			System.out.println("请输入学生身份证号:");
			String card = sc.next();
			System.out.println("请输入学生Java成绩:");
			int javaScore = sc.nextInt();
			System.out.println("请输入学生数学成绩:");
			int mathScore = sc.nextInt();
			System.out.println("请输入学生英语成绩:");
			int engScore = sc.nextInt();
			
			ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("save.txt"));
			oos.writeObject(new Student(code,name,card,javaScore,mathScore,engScore));
			oos.close();
		}
	}
}

public class Student implements Serializable{
	//学号
	private String code;
	//姓名
	private String name;
	//身份证
	private transient String card;
	//java成绩
	private int javaScore;
	//数学成绩
	private int mathScore;
	//英语成绩
	private int engScore;
	
	public Student() {
		super();
	}

	public Student(String code, String name, String card, int javaScore, int mathScore, int engScore) {
		super();
		this.code = code;
		this.name = name;
		this.card = card;
		this.javaScore = javaScore;
		this.mathScore = mathScore;
		this.engScore = engScore;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getCard() {
		return card;
	}

	public void setCard(String card) {
		this.card = card;
	}

	public int getJavaScore() {
		return javaScore;
	}

	public void setJavaScore(int javaScore) {
		this.javaScore = javaScore;
	}

	public int getMathScore() {
		return mathScore;
	}

	public void setMathScore(int mathScore) {
		this.mathScore = mathScore;
	}

	public int getEngScore() {
		return engScore;
	}

	public void setEngScore(int engScore) {
		this.engScore = engScore;
	}
	
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马