目录
JAVA实现的学生信息管理系统(包含教师端和学生端)
教师端有登录过程,功能包括对学生信息的增删改查
学生端无登录过程,功能只包括查看信息
- 在idea创建一个工程文件,在工程文件下创建一个model模块,在model模块下载创建三个package包分别用来存放(Management)管理信息包、(function)功能包、(information)学生信息对象类,再在三个包中创建如下图所示文件
- 容器选择:因为本次使用的是自己创建的Student类并且信息数量不确定,所以选择集合作为Student类的容器
1.学生信息类的创建
为了防止属性不能被外类随意访问,因此采用private对学生类中的属性进行修饰并且进行创建set、get方法以便于调用属性,再创建打印数据方法,方便数据打印,代码如下:
public class Student { private String id; private String name; private String college; private String major; public Student() {} public Student(String id, String name, String college, String major) { this.id = id; this.name = name; this.college = college; this.major = major; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCollege() { return college; } public void setCollege(String college) { this.college = college; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public void information_printf() { System.out.printf("%-16s%-13s" + "\t" + "%-12s" + "\t" + "%s\n", getId(), getName(), getCollege(), getMajor()); }}
2.学生信息的添加功能
在Addtion添加类中,先创建集合容器用来存放数据,并且键盘录入的数据(使用Scanner()方法),再进行对输入的判断是否合法,最后将录入的数据存入集合中,具体实现方法如下:
public Student Add_information(ArrayList newList) { Scanner sc = new Scanner(System.in); Student stu = new Student(); System.out.println("请输入学生学号:"); //学生学号信息输入检查 add_check_id(newList, sc, stu); System.out.println("请输入学生姓名:"); String name = sc.next(); stu.setName(name); System.out.println("请输入学生所在学院(4-6字):"); //学生学院信息输入检查 add_check_college(sc, stu); //学生专业班级信息输入检查 System.out.println("请输入学生专业班级(4-8字):"); add_check_major(sc, stu); return stu; }
实现效果如图:
3.学生信息的删除功能
在Delete删除类中,先创建集合容器用来存放数据,并且键盘录入的数据(使用Scanner()方法),再进行信息的判断是否存在,最后将需要删除的信息从集合中删除,具体实现方法如下:
public ArrayList Delete_information(ArrayList newList) { Scanner sc = new Scanner(System.in); System.out.println("请输入要删除的学生的学号:"); while (true) { String id = sc.next(); if (getList_id(newList, id)) { System.out.println("学生信息删除成功!"); break; } System.out.println("该学生信息不存在,请重新输入:"); } return newList; }
实现效果如图:
4.学生信息的修改功能
在Modify修改类中,先创建集合容器用来存放数据,并且键盘录入的数据(使用Scanner()方法),再进行信息的判断是否存在,再将新录入的数据代替之前的数据,最后将新的数据重新添加至集合中,具体实现方法如下:
public ArrayList Modify_information(ArrayList newList) { Scanner sc = new Scanner(System.in); System.out.println("请输入要修改的学生的学号:"); while (true) { String id = sc.next(); if (getList_id(newList, id)) { System.out.println("学生信息修改成功!"); break; } System.out.println("该学生信息不存在,请重新输入:"); } return newList; }
实现效果如图:
5.学生信息的查看功能
在View查看类中,先创建集合容器用来存放数据,利用for循环对集合遍历并且调用Student类中的information_printf()方法打印出所有学生信息,具体实现方法如下:
public void View_information(ArrayList newList) { for (int i = 0; i < newList.size(); i++) { Student s = newList.get(i); s.information_printf(); } }
实现效果如图:
1.界面的搭建
使用System.out.println()方法输出界面,具体实现方法如下:
//选择登录系统界面 System.out.println("----------学生信息管理系统----------");System.out.println("* 1、学生登录 2、教师登录 3、退出 *");System.out.println("---------------------------------");//学生端界面System.out.println("----------学生信息管理系统----------");System.out.println("* 1、查看信息 2、返回 *");System.out.println("---------------------------------");//教师登录界面System.out.println("----------学生信息管理系统----------");System.out.println("*1、添加信息 2、删除信息 3、修改信息*");System.out.println("*4、查看信息 5、返回 *");System.out.println("---------------------------------");
2.学生端和教师端
学生端只能查看学生信息,教师端可以对信息进行增加、删除、修改、查看四个功能,并且登录教师端需要输入用户名和密码;先使用Scanner()方法在控制台接收用户键盘录入的数据,再将输入的数据通过对字符串的判断实现是否登陆成功。具体实现方法如下:
//教师端登录public static void Login_teacher(ArrayList list) { Scanner sc1 = new Scanner(System.in); Scanner sc2 = new Scanner(System.in); //已知用户名密码 String name = "Login"; String passwords = "123456"; //获取用户名密码 while (true) { System.out.println("请输入用户名:"); String username = sc1.next(); System.out.println("请输入密码:"); String user_password = sc2.next(); if (name.equals(username) && password.equals(user_password)) { System.out.println("登陆成功"); Management_teacher(list); break; } else { System.out.println("用户名或密码错误,请重新输入:"); } } }
实现效果如图:
3.系统和功能的选择
先使用Scanner()方法在控制台接收用户键盘录入的数据,再将输入的数据,通过switch(int flag) case :方法进行判断选择对应的系统或对应的功能,具体实现方法如下图:
//登陆系统选择Scanner sc = new Scanner(System.in); wc: while (true) { System.out.println("----------学生信息管理系统----------"); System.out.println("* 1、学生登录 2、教师登录 3、退出 *"); System.out.println("---------------------------------"); int flag = sc.nextInt(); switch (flag) { case 1: Management_student(list); break; case 2: Login_teacher(list); break; case 3: break wc; default: System.out.println("输入有误,请重新输入:"); break; } }//学生功能选择Scanner sc = new Scanner(System.in); wc2: while (true) { System.out.println("----------学生信息管理系统----------"); System.out.println("* 1、查看信息 2、返回 *"); System.out.println("---------------------------------"); int flags = sc.nextInt(); switch (flags) { case 1: view_Student_information(list); break; case 2: break wc2; } }//教师端功能选择Scanner sc = new Scanner(System.in); wc: while (true) { System.out.println("----------学生信息管理系统----------"); System.out.println("*1、添加信息 2、删除信息 3、修改信息*"); System.out.println("*4、查看信息 5、返回 *"); System.out.println("---------------------------------"); int flag = sc.nextInt(); switch (flag) { case 1://学生信息的添加 add_Student_information(list); break; case 2://学生信息的删除 delete_Student_information(list); break; case 3://学生信息的修改 modify_Student_information(list); break; case 4://学生信息的查询 view_Student_information(list); break; case 5: break wc; default: System.out.println("输入有误,请重新输入:"); break; } }
以上就是我实现学生信息管理系统的方案,本文仅仅介绍了实现方案及制作流程,仅供参考,若有问题请帮忙留言指出,欢迎交流学习。
需要所有源文件的或者私人订制的可以私聊
来源地址:https://blog.csdn.net/huihu__/article/details/124357213