java实现简单学生信息管理系统

** ## java实现简单学生信息管理系统(6步) **

1、首先定义一个学生信息主体类

package project;

public class Stu_class {
	String name;
	String stu_id;
	String sex;
	String phone_num;
	int age;
		
	public Stu_class(String name,String stu_id, int age, String phone_num, String sex) {
		this.name = name;
	
		this.stu_id = stu_id;
		this.phone_num = phone_num;
		this.sex = sex;
		this.age = age;
	}
	public String getName() {
		return name;
	}

	public String getStu_id() {
		return stu_id;
	}
	public int getAge() {
		return age;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public void setId_num(String stu_id) {
		this.stu_id = stu_id;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public void setPhone_num(String phone_num) {
		this.phone_num = phone_num;
	}
	public void display() {
		System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"性别:"+sex+"\n"+"学号:"+stu_id+"\n"+"手机号:"+phone_num);
	}
}

2、再定义一个工具类,在此类中有主页面的欢迎页面,各种功能的实现函数

package project;
import java.util.*;

public class Tool {
	Check_stu_info stu_choose;
	Chaneg_stu_info change_stu;
	Add_stu_info stu_info;
	LinkedList<Stu_class>stu;
	Scanner con ;
	public Tool(LinkedList<Stu_class>stu,Check_stu_info stu_choose,Chaneg_stu_info change_stu,Add_stu_info stu_info,Scanner con) {
		this.stu_choose = stu_choose;
		this.change_stu = change_stu;
		this.stu_info =stu_info;
		this.con = con;
		this.stu = stu;
	}
	public void welcome_custome() {
		String s = "***********************************";
		System.out.println(s);
		System.out.println("欢迎进入学生管理系统!"+"\n"+"您可以进行以下操作:\n1、查看学生信息\n2、修改个人信息\n3、注册新账号\n4、退出系统");
		System.out.println(s);
		System.out.print("请选择你需要进行的操作>>>");
	}
	public void check_choose(Tool tool) {
		int choose = con.nextInt();
		switch(choose) {
		case 1:
			stu_choose.welcome_check_choose();
			stu_choose.check_choose(stu,tool);
			//查看个人信息函数
			//con.close();
			break;
		case 2:
			change_stu.change_stu_info(stu,tool);
			//修改个人信息函数
			//con.close();
			break;
		case 3:
			stu_info.add_stu_info(stu,tool);
			//注册新账号
			//con.close();
			break;
		case 4:
			//退出系统
			System.out.println("退出系统成功!!!");
			con.close();
			System.exit(-1);
			break;
		default:
			System.out.print("输入有误,请重新输入>>>");
			check_choose(tool);
	}
	}
	public void return_last(Tool tool) {
		welcome_custome();
		check_choose(tool);
	}

}

3、 在上一个类中我们定义了查看个人信息函数,修改个人信息函数,注册新账号函数,退出系统.
接下来我们来写第一个查看个人信息函数.

package project;
import java.util.*;
/**查看信息
 * 1、提示用户所需
 * 2、查看所有学生信息
 * 3、查看个别学生信息
 * 4、当信息查询不到时,提醒并跳入注册学生信息函数界面.
 */
public class Check_stu_info {
	Scanner con;
	Add_stu_info stu_info;
	public Check_stu_info(Scanner con,Add_stu_info stu_info) {
		this.con = con;
		this.stu_info = stu_info;
	}
	public void welcome_check_choose() {	
			String s = "***********************************";
			System.out.println(s);
			System.out.println("欢迎进入校园卡查询信息界面,您可以进行以下操作:\n1、查看全部信息\n2、查看个人信息\n3、返回上一级目录\n4、退出");
			System.out.println(s);
			System.out.print("请选择你需要进行的操作>>>");
	}
	public  void check_choose(LinkedList<Stu_class>stu,Tool tool) {
		int choose = con.nextInt();
		switch(choose) {	
			case 1:
				//查看全部学生信息
				show_all_stu_info(stu,tool);
				//con.close();
				break;
			case 2:
				//查看个人信息
				one_stu_info(stu,tool,stu_info);
				//con.close();
				break;
			case 3:
				tool.return_last(tool);
				//返回上一级目录
				//con.close();
				break;
			case 4:
				System.out.println("退出系统成功!!!");
				System.exit(-1);
				//con.close();
				//退出系统
			default:
				System.out.println("输入有误,请重新输入>>>");
				check_choose(stu,tool);
		}
	}
	//检查一个人的信息
	public void one_stu_info(LinkedList<Stu_class>stu,Tool tool,Add_stu_info stu_info) {
		//Scanner con = new Scanner(System.in);
		System.out.println("请输人你需要查找学生的姓名>>>");
		String name = con.next();
		//con.close();
		boolean flag = false;
		if(stu.size() == 0) {
			System.out.println("未添加学生信息,请先添加学生信息!!!\n1、添加学生信息\t2、退出系统\n请输入>>>");
			int choose = con.nextInt();
			if(choose == 1)
				stu_info.add_stu_info(stu,tool);
			if(choose == 2)
				System.exit(-1);
				
		}
		if(stu.size() > 0)
			{
			for(int i = 0;i < stu.size();i++) {
				System.out.println("2");
				if(stu.get(i).getName()==name) {
					stu.get(i).display();
					flag = true;
					break;
			}
		}
		if(flag==true) {
			System.out.println("查找成功!!!\n1、继续查找学生信息\t2、返回上一级菜单\t3、退出系统");
			int choose = con.nextInt();
			switch(choose) {
				case 1:
					one_stu_info(stu, tool,stu_info);
					break;
				case 2:
					tool.return_last(tool);
					break;
				case 3:
					System.exit(-1);
			}
		}
			
			
		if(flag == false)
			{
			System.out.println("未查到学生信息,1、重新输入\t2、返回上一级菜单\n请输入>>>");
			int choose = con.nextInt();
			if(choose == 1)
				one_stu_info(stu, tool, stu_info);
			if(choose == 2)
				tool.return_last(tool);
			}
			}
	}
	//查询所有人的信息 
	public void show_all_stu_info(LinkedList<Stu_class>stu,Tool tool) {
		if(stu.size() == 0) {
			System.out.println("未添加学生信息,请先添加学生信息!!!\n1、添加学生信息\t2、退出系统\n请输入>>>");
			int choose = con.nextInt();
			if(choose == 1)
				stu_info.add_stu_info(stu,tool);
			if(choose == 2)
				System.exit(-1);
				
		}
		else {
		for(int i = 0;i<stu.size();i++)
			stu.get(i).display();
		System.out.println("请输入:\n1、返回上一级目录\t2、退出系统");
		int choose = con.nextInt();
		if(choose == 1) {
			tool.return_last(tool);
		}
		if(choose == 2) {
			System.out.println("退出系统成功!!!");
			System.exit(-1);
		}
		}
	}
}

4、 接下来写修改个人信息类

package project;
import java.util.*;
/**
 * 1、输入想要修改学生信息的名字
 * 2、将输入的名字在列表中查询
 * 3、查询不成功,提醒用户重新输入,查找成功后进行修改
 *
 */
public class Chaneg_stu_info {
	Scanner con;
	public Chaneg_stu_info(Scanner con) {
		this.con = con;
	}
	public void change_stu_info(LinkedList<Stu_class>stu,Tool tool) {
		System.out.print("请输入你想要修改学生信息的姓名>>>");
		String name = con.next();
		boolean flag = false;
		for(int i = 0;i<stu.size();i++) {
			if(name.equals(stu.get(i).getName())) {
			//	Scanner cox = new Scanner(System.in);
				flag = true;
				System.out.print("请输入修改后的姓名>>>");
				String change_name = con.next();
				System.out.println();
				System.out.print("请输入修改后的年龄>>>");
				int change_age = con.nextInt();
				System.out.println();
				System.out.print("请输入修改后的学号>>>");
				String change_id = con.next();
				System.out.println();
				System.out.print("请输入修改后的性别>>>");
				String change_sex = con.next();
				System.out.println();
				System.out.print("请输入修改后的手机号>>>");
				String change_phone = con.next();
				System.out.println();
				stu.get(i).setName(change_name);
				stu.get(i).setId_num(change_id);
				stu.get(i).setPhone_num(change_phone);
				stu.get(i).setAge(change_age);
				stu.get(i).setSex(change_sex);
				
			}
		}
		if(flag == true) {
			System.out.println("修改完成!!!\n1、返回上一级菜单\t2、退出系统");
			int choose = con.nextInt();
			if(choose == 1)
				tool.return_last(tool);
			if(choose == 2)
				System.exit(-1);
		}
		if(flag == false) {
			System.out.println("未找到该学生信息\n1、重新输入\t2、退出");
			int choose = con.nextInt();
			if(choose == 1)
				change_stu_info(stu, tool);
			if(choose == 2)
				System.exit(-1);
		}
	}
}

5、添加学生信息类

package project;
import java.util.*;

public class Add_stu_info {
	Scanner con;
	public Add_stu_info(Scanner con) {
		this.con = con;
	}
	public void add_stu_info(LinkedList<Stu_class>stu,Tool tool) {
		//Scanner con = new Scanner(System.in);
		String s = "***********************************";
		System.out.print(s+"\n请输入添加学生的姓名>>>");
		String name = con.next();
		System.out.print("请输入添加学生的性别>>>");
		String sex = con.next();
		System.out.print("请输入添加学生的年龄>>>");
		int age = con.nextInt();
		System.out.print("请输入添加学生的学号>>>");
		String id = con.next();
		System.out.print("请输入添加学生的手机号>>>");
		String phone_num = con.next();
		Stu_class student = new Stu_class(name, id, age, phone_num, sex);
		stu.add(student);
		System.out.println("添加完成!!!\n"+s);
		
		//返回上一级目录
		System.out.println("请输入:\n1、返回上一级目录\t2、退出系统");
		tool.welcome_custome();
		tool.check_choose(tool);
	
	}
}

6、最后定义主体类,对上面所有代码进行整合,创建所需要的对象,再将对象作为参数进行传递,就可实现简单的学生信息管理系统

package project;

import java.util.LinkedList;
import java.util.Scanner;

public class Stu_main {
		static LinkedList<Stu_class>stu;
	public static void main(String[] args) {
		//欢迎界面
		//创建存放学生信息的列表
		stu = new LinkedList<Stu_class>();
		//创建输入入口
		Scanner con = new Scanner(System.in);
		//创建添加学生信息的对象
		Add_stu_info stu_info = new Add_stu_info(con);
		//创建修改学生信息的对象
		Chaneg_stu_info change_stu = new Chaneg_stu_info(con);
		//创建查询学生信息的对象
		Check_stu_info stu_choose = new Check_stu_info(con,stu_info);
		//创建工具类对象
		Tool tool = new Tool(stu,stu_choose,change_stu,stu_info,con);
		tool.welcome_custome();
		tool.check_choose(tool);
		con.close();
	}

}

7、代码运行界面代码运行界面

发布了7 篇原创文章 · 获赞 18 · 访问量 8232
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览