集合与IO流结合编写的简单的学生信息管理系统

本文介绍了一个使用集合和IO流编写的简单学生信息管理系统,具备增删改查功能。用户通过控制台输入操作,系统将对学生信息进行处理。详细代码和操作流程已给出。
摘要由CSDN通过智能技术生成
运用集合与IO流编写简单的学生信息管理系统,实现增删改查操作。

有错误的地方请指出!!

本文链接:http://m.blog.csdn.net/article/details?id=52076179#10006-weixin-1-52626-6b3bffd01fdde4900130bc5a2751b6d1
import java.text.NumberFormat;

public class Info {
 
	private int stu_id;
	private String stu_name;
	private String stu_sex;
	private int stu_age;
	private int chinese;
	private int math;
	private int english;
	private String stu_address;
	public int getStu_id() {
		return stu_id;
	}
	public void setStu_id(int stu_id) {
		this.stu_id = stu_id;
	}
	public String getStu_name() {
		return stu_name;
	}
	public void setStu_name(String stu_name) {
		this.stu_name = stu_name;
	}
	public String getStu_sex() {
		return stu_sex;
	}
	public void setStu_sex(String stu_sex) {
		this.stu_sex = stu_sex;
	}
	public int getStu_age() {
		return stu_age;
	}
	public void setStu_age(int stu_age) {
		this.stu_age = stu_age;
	}
	public int getChilese() {
		return chinese;
	}
	public void setChilese(int chinese) {
		this.chinese = chinese;
	}
	public int getMath() {
		return math;
	}
	public void setMath(int math) {
		this.math = math;
	}
	public int getEnglish() {
		return english;
	}
	public void setEnglish(int english) {
		this.english = english;
	}
	public String getStu_address() {
		return stu_address;
	}
	public void setStu_addrese(String stu_address) {
		this.stu_addrese = stu_addrese;
	}
	
	public double getAvgScose(){
		double avg=(math+chinese+english)/3;
		NumberFormat nf=NumberFormat.getNumberInstance();
		nf.setMaximumFractionDigits(2);
		avg=Double.parseDouble(nf.format(avg));
		return avg;
		
	}
	
	public int getSunScose(){
		return math+chinese+english;
		
	}
	
	
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream.GetField;
import java.util.Scanner;

public class ChooseDemo {
	/*
	 *得到int类型的数据 
	 */
	BufferedReader s=null;
	public int getInputIntInfo(String info){
		int input_int=0;
		try{
			System.out.println(info);
			s=new BufferedReader(new InputStreamReader(System.in));
			input_int=Integer.parseInt(s.readLine());
		}catch (Exception e) {
			System.out.println("输入错误!!请重新输入。");
			input_int=getInputIntInfo(info);
		}
			return input_int;
	}
	
	/*
	 *得到String类型的数据 
	 */
	public String getInputStringInfo(String string){
		String input_String="";
		try{
			System.out.println(string);//显示输入的字符串
			 s=new BufferedReader(new InputStreamReader(System.in));
			 input_String=s.readLine();
			}catch (Exception e) {
				System.out.println("输入错误!!请重新输入");
				input_String=getInputStringInfo(string);
			}
		return input_String;
	}
	
	public void menu(){
		System.out.println("************************");
		System.out.println("欢迎进入学生信息管理系统");
		System.out.println("1.添加学生信息");
		System.out.println("2.修改学生信息(根据学号修改)");
		System.out.println("3.修改学生信息(根据姓名修改)");
		System.out.println("4.删除学生信息(根据学号删除)");
		System.out.println("5.删除学生信息(根据姓名删除)");
		System.out.println("6.查询所有学生信息");
		System.out.println("7.查询学生信息(根据学号)");
		System.out.println("8.查询学生信息(根据姓名)");
		System.out.println("9.退出系统");
		System.out.println("************************");
	}
	
	public void Choose(int coad) throws Exception{
		switch (coad) {
		//添加学生信息
			case 1:
				System.out.println("<---你已进入添加学生信息界面--->");
				
				Info add_info=getStudentInfo();
				if(!(Handle.selectStuId(add_info.getStu_id()))){
					if(Handle.AddInfo(add_info)){
						System.out.println("\n添加成功!!\n");
					}else{
						System.out.println("\n添加失败!!\n");
					}
				}else{
					System.out.println("该学号已存在
有什么疑问可联系QQ:865728838 第一部分 案例描述 案例目的 学习面向对象的主要特征和基本概念,包括类、对象、继承、接口、封装、继承、多态、方法的重载和重、Java的访问修饰符与其它关键字等。 案例难度 ★★★★ 案例覆盖技能点 1、 I/O流 2、 ArrayList的使用 3、 HashMap的使用 4、 异常的处理 5、 scanner的使用 推荐案例完成时间 0.5天 适用课程和对象 JAVA面向对象编程基础 第二部分 需求和开发环境 使用技术和开发环境 JAVA、MyEclipse6.0或以上、JDK5.0或以上 案例需求 用户需要我们设计一个学生管理系统,要求登录后可以实现对学员的增加和查询的功能,并提供良好的操作界面。经过分析系统的需求,抽象出管理员实体、学生实体,从管理员实体中抽象出来的数据有用户名和密码,从学生实体中抽象出来的数据有学生Id,学生姓名,出生日期,电话,地址。 系统基本模块包括: 功能点 难度 登录 ★★ 添加学生 ★★★★ 查看所有学生 ★★★★ 删除学生 ★★★★ 修改学生 ★★★★ 界面类 ★★★ 功能点介绍 1、现要求设计管理员Admin类和学生Student类来存储相应信息,分别要提供一个缺省的和带参数的构造函数来获取数据,同时不能打破面向对象的封装特性(提示:将数据成私有,为字段提供public setter/getter方法) 为学生类添加toString()的方法,toString()方法内容是将字段连接成一个字符串,然后返回。 设计一个Tools类提供重载方法println()和print(),让其接收不同的数据并能打印字符串,数字,布尔值和换行等。 打包要求: 管理员Admin、学生Student,打包在com.handson.stumanager.domain包中 工具类Tools,打包在com.handson.stumanager.tools包中,并把方法改成static的,且把之前程序中的打印输出全都换成当前类的方法调用 2、在com.handson.stumanager.service包中 设计一个学生操作类,可起名为StudentBO,此类要求如下: 提供一个addStudent行为,接收学生对象,用于把一个已经构建好的学生对象添加到HashMap中。 提供一个saveStudentMapToFile行为,用于把HashMap对象保存到文件中。 提供一个getAllStudent的行为,用于查询HashMap中所有的学生对象。 提供一个readStudentMapFromFile行为,用于从文件中读取HashMap对象。 设计一个登录操作类,可起名为LoginBO,此类要求如下: 提供行为checkUser行为,接收管理员对象,用于验证用户登陆是否成功。如果用户名是admin密码是123456,则返回true否则false 2、在com.handson.stumanager.view包中 设计一个界面类,可起名为StuManagerCUI,用于创建登录界面、主界面、添加界面、显示所有界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值