【Java】升级版学生管理系统项目

article/2025/9/28 8:05:11

目录

一、前言

二、学生管理系统主要功能

在学生类下

在学生总部类下:

 main方法:

登录密码验证:

打印菜单:

增加学生信息:

查看学生信息:

删除学生信息:

修改学生信息:

查找学生信息:

代码效果演示图:


一、前言

    我们前面写了通讯录管理系统,现在我们来写个学生管理系统,

其实主干代码都一 不过,在学生管理系统中我添加和优化了许多功能,

如【登录密码验证,异常处理,非空判断,,防止重复添加】等。

二、学生管理系统主要功能

  • 增加学生信息

  • 删除学生信息

  • 修改学生信息

  • 查找学生信息

  • 查看所有学生信息

  • 退出学生管理系统

主干总览图:

 我们分成了许多的方法模块,便于调用。

在学生类下

,就是普通的构造方法和get和set方法,还有一个重写的toString方法

(Alt+Insert可以快速生成上述的所有)

package 学生管理系统;public class Student {private String name;private String age;private String sex;private String number;private String classroom;public Student(){}public Student(String name, String age, String sex, String classroom,String number) {this.name = name;this.age = age;this.sex = sex;this.classroom = classroom;this.number=number;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getClassroom() {return classroom;}public void setClassroom(String classroom) {this.classroom = classroom;}public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}

重写toString方法是为了让我们设置好的方式去显示:

    @Overridepublic String toString() {return "名字:"+name+" |性别:"+sex+" |年龄:"+age+"  |学号:"+number+"  |班级:"+classroom+"\n";}
}

在学生总部类下:

 main方法:

public static void main(String[] args) {ArrayList<Student> arrayList=new ArrayList<Student>();password();//密码验证while(true){menu();//菜单Scanner sc=new Scanner(System.in);try{int num=sc.nextInt();switch(num){case 1:{addStudent(arrayList);break;}case 2:{deleteStudent(arrayList);break;}case 3:{reviseStudent(arrayList);break;}case 4:{oneStudent(arrayList);break;}case 5:{checkStudent(arrayList);break;}case 6:{System.out.println("退出成功");System.exit(0);}default:{System.out.println("输入错误,输入0-6之间的数字");break;}}}catch(Exception e){e.printStackTrace();System.out.println("你的输入是非数字,请输入0-6的数字");}}}//main方法

登录密码验证:

  public static void password(){System.out.println("***欢迎来到学生管理系统***");Scanner sc=new Scanner(System.in);System.out.print("请输入管理员密码:");String s="键盘敲烂";int  sum=3;while(true){String ss=sc.nextLine();if(ss.equals(s)){System.out.println("验证成功!");break;}else{sum--;System.out.print("密码错误,你还有"+sum+"次机会:");}if(sum==0){System.out.println("输入上限,再见!");System.exit(0);}}}//密码验证

打印菜单:

  public static void menu(){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("请选择:");}//打印菜单页

增加学生信息:

 public static void addStudent(ArrayList<Student> arrayList){Scanner sc1=new Scanner(System.in);System.out.print("请输入姓名:");String name=sc1.nextLine();System.out.print("请输入年龄:");String age=sc1.nextLine();System.out.print("请输入性别:");String sex=sc1.nextLine();System.out.print("请输入学号:");String number=sc1.nextLine();System.out.print("请输入班级:");String classroom=sc1.nextLine();Student stu=new Student();stu.setAge(age);stu.setClassroom(classroom);stu.setName(name);stu.setSex(sex);stu.setNumber(number);int kong=0;//用来定义是否已经存在的学号for (int i=0;i<arrayList.size();i++){Student s=arrayList.get(i);if((arrayList.size())>1&&(s.getNumber().equals(number))&&(s.getClassroom().equals(classroom))){System.out.println("添加失败,你输入的学号在同一班级已存在");kong++;//存在就加一arrayList.remove(stu);}}if(name.length()==0||age.length()==0||sex.length()==0||classroom.length()==0||number.length()==0||kong!=0){System.out.println("有某项为空或学号在同一班已存在,添加失败");arrayList.remove(stu);//移除该项} else{arrayList.add(stu);System.out.println("添加成功");}}//加信息

查看学生信息:

 public static void checkStudent(ArrayList<Student> array){if(array.isEmpty()){System.out.println("这里没有任何信息,请添加后查看!");}else{System.out.println(array);}}//查信息

删除学生信息:

 public static void deleteStudent(ArrayList<Student> array){if(array.isEmpty()){System.out.println("这里没有任何信息,请添加后在进行操作!");}else{Scanner sc=new Scanner(System.in);System.out.println("请输入你要删除信息的名字");String str=sc.nextLine();int sum=0;for(int i=0;i<array.size();i++){Student s = array.get(i);if(s.getName().equals(str)){array.remove(i);sum++;System.out.println("删除成功");}}if(sum==0){System.out.println("没有该信息,删除失败!");}}}//删信息

修改学生信息:

    public static void reviseStudent(ArrayList<Student> arrayList){if(arrayList.isEmpty()){System.out.println("没有任何信息,请输入后在进行操作!");}else {int sum=0;Scanner sc = new Scanner(System.in);System.out.println("请输入你要换信息的名字");String name=sc.nextLine();for(int i=0;i<arrayList.size();i++){Student s1=arrayList.get(i);if(s1.getName().equals(name)){sum++;}}if(sum!=0){Scanner sc1=new Scanner(System.in);System.out.print("请输入姓名:");String name1=sc1.nextLine();System.out.print("请输入年龄:");String age=sc1.nextLine();System.out.print("请输入性别:");String sex=sc1.nextLine();System.out.print("请输入学号:");String number=sc1.nextLine();System.out.print("请输入班级:");String classroom=sc1.nextLine();Student stu=new Student();stu.setAge(age);stu.setClassroom(classroom);stu.setName(name1);stu.setSex(sex);stu.setNumber(number);int kc=0;for (int i = 0; i < arrayList.size(); i++) {Student stu1 = arrayList.get(i);if(arrayList.size()>1&&(stu1.getNumber().equals(number)&&stu1.getClassroom().equals(classroom))){kc++;System.out.println("添加失败,已经存在此学号在同一班");break;}if(name1.length()==0||age.length()==0||sex.length()==0||classroom.length()==0||number.length()==0) {System.out.println("有某项为空,添加失败");  break;}if (stu1.getName().equals(name)&&kc==0) {arrayList.set(i, stu);System.out.println("修改成功");break;}}}if(sum==0){System.out.println("修改失败,没有找到对应的名字");}} }//改信息

查找学生信息:

 public static void oneStudent(ArrayList<Student> arrayList){if (arrayList.isEmpty()){System.out.println("没有学生信息,请添加后再查找");}else{Scanner sc=new Scanner(System.in);System.out.print("请输入你要查找学生的名字:");String name=sc.nextLine();int sum=0;for(int i=0;i<arrayList.size();i++){Student stu=arrayList.get(i);if(stu.getName().equals(name)){sum++;System.out.println("姓名:"+stu.getName()+"  年龄:"+stu.getAge()+"  性 别:"+stu.getSex()+"  班级:"+stu.getClassroom()+"  学号:"+stu.getNumber());}}if(sum==0){System.out.println("你查找的学生不存在");}}}//找信息

代码效果演示图:


http://chatgpt.dhexx.cn/article/v4sGOJfe.shtml

相关文章

Java实现 “学生管理系统“

文章目录 一、项目简介二、系统展示三、程序设计 一、项目简介 本项目为基于java下实现模拟学生管理系统&#xff0c;具以下6个功能&#xff1a; 添加学生删除学生修改学生信息查询学生信息输出学生信息退出系统 二、系统展示 1. 菜单 2. 添加学生 3. 修改学生信息 4. 查询…

java学生成绩管理系统

学生成绩管理系统 使用java swing 和 jdbc 技术 管理学生信息 文章目录 学生成绩管理系统一&#xff0c;总体架构二、controller层的编写三、pojo层的编写四&#xff0c;view层的编写五&#xff0c;数据库的连接六&#xff0c;启动程序 一&#xff0c;总体架构 一共五个包 二…

Java——学生管理系统

学生管理系统实现步骤&#xff1a; 定义学生类学生管理系统的主界面的代码编写学生管理系统的查看所有学生的代码编写学生管理系统的添加学生代码的编写学生管理系统的删除学生的代码编写学生管理系统的修改学生的代码编写 学生系统主界面&#xff1a; public class Student…

Java学生管理系统设计与实现 (超详细,含课程设计)

最新文章出炉&#xff0c;欢迎点评 它曾是浏览器的王者&#xff0c;如今却前景堪忧...... 推荐阅读 ★★★★ 往期文章回顾&#xff1a; 1、Java开发岗位面试题汇总&#xff08;不断补充……&#xff09;★★★ 2、Java程序员必须掌握的英语词组 ★★ 3、学习Java的9张思…

用Java实现学生管理系统【简化版】基础

&#x1f389;博客首页&#xff1a;痛而不言笑而不语的浅伤 &#x1f4e2;欢迎关注&#x1f973;点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 欢迎讨论&#xff01; &#x1f52e;本文由痛而不言笑而不语的浅伤原创&#xff0c;CSDN首发&#xff01; &#x1f30b;系列专栏&…

java 学生信息管理系统

只设计了一部分 全部的太多了。会慢慢更新增加。 学生信息管理包括添加&#xff0c;删除&#xff0c;修改&#xff0c;查询&#xff0c;显示全部等 具体结构如图 在SQL Server 2005数据库上实现数据操作。使用纯面向对象的java语言作为开发语言 在sql server 2005新建一个名…

基于java的学生成绩管理系统

本管理系统具有以下功能&#xff1a; 1、学生功能&#xff1a;个人信息查询、修改&#xff1b;成绩查询&#xff1b;修改密码  2、教师功能&#xff1a;学生信息查询&#xff1b;打分&#xff1b;个人信息查询、修改&#xff0c;修改密码  3、管理员功能&#xff1a;教师信…

Java简单学生管理系统

学习了一段时间了。是时候写一个程序来检验一下学习的成果了。 七夕让我们一起new对象。 ok&#xff0c;首先我们来看一下需求。 简单的学生信息管理系统&#xff0c;通过键盘选择操作进行添加学生&#xff08;学号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄&#x…

用Java实现学生管理系统(附项目详细的介绍和源代码)

前言&#xff1a;最近练习了用Java语言实现简单的学生管理系统小项目&#xff0c;分享一下。 Ps&#xff1a;原创不易&#xff0c;请多多支持&#xff01; 摘要分析如下&#xff1a; 实现的主要功能&#xff1a; 1&#xff0c;添加学生信息。 2&#xff0c;查询学生信息(实现…

Java设计学生成绩管理系统

1.1 题目与要求 设计一个学生成绩排名系统 实现以下功能&#xff1a; (1) 具备对成绩的管理功能&#xff08;添加、删除、排序&#xff09;&#xff1b; (2) 具备对成绩的统计功能&#xff08;最高分&#xff0c;最低分&#xff0c;平均分&#xff0c;及格率等&#xff09;…

Java 学生成绩管理系统

教学管理系统很适合初学者对于所学语言的练习。本文是javaSE 中用文件流写的&#xff0c;这个也可以用数据库写。 分析 这个项目有 1.学生 2.老师 3.教务人员 4.管理员四个角色分别担任不同的任务。 1.学生 有属性 id, 密码&#xff0c;性别&#xff0c;年龄&#xff0c;和一…

Java基础——学生管理系统

用内存存储学生信息。(采用集合的方式&#xff09; 步骤&#xff1a; A. 定义学生类 B. 学生管理系统的主界面的代码编写 C. 学生管理系统的查看所有学生的代码编写 D. 学生管理系统的添加学生的代码编写 E. 学生管理系统的删除学生的代码编写 F. 学生管理系统的修改学生的代码…

学生管理系统(Java版)

学生管理系统&#xff08;Java版&#xff09; 前言&#xff1a;这个是大二做的课设&#xff08;还是学生管理系统…&#xff09;&#xff0c;理论上虽然是4个人一组一起做的&#xff0c;但是&#xff0c;注意这个“但是”&#xff0c;还是我一个人承担了所有…代码和文档基本都…

Java 版学生成绩管理系统,附源码

前言 对于计算机专业的学生来讲&#xff0c;一定对于学生成绩管理系统课程设计十分印象深刻。设计、上机、编码、写报告、答辩等一系列流程&#xff0c;虽然很简单&#xff0c;但也可以综合运用我们所学的一些知识了。 今天就来复习以下这个课题&#xff0c;用 Java SE 来实现…

用Java实现一个学生管理系统(附源码)

目录 一、题目要求 二、设计思路 &#xff08;2&#xff09;代表课程的类——Course类 &#xff08;3&#xff09;具体功能实现类——Function类 &#xff08;4&#xff09;测试类——Test类 三、代码实现 &#xff08;1&#xff09;Student.java文件 &#xff08;2&…

Java实现学生管理系统(完整代码)

案例需求 完成一个综合案例&#xff1a;学生管理系统&#xff01;该系统主要功能如下&#xff1a; 添加学生&#xff1a;通过键盘录入学生信息&#xff0c;添加到集合中 删除学生&#xff1a;通过键盘录入要删除学生的学号&#xff0c;将该学生对象从集合中删除 修改学生&…

Java学生信息管理系统

一、选题设计思想 学生信息管理系统是典型的信息管理系统(MIS)&#xff0c;其开发主要包括后台数据库的建立和维护以及前端应用程序的开发。对于前者要求建立起数据一致性和完整性强、安全性高的数据库&#xff1b;对于后者则要求应用程序具有功能完备、易使用、易维护等特点。…

学生管理系统(Java实现)

一、学生信息管理程序 基本要求&#xff1a; 1&#xff0e;要求实现学生信息的使用添加、查找、删除、修改等几个功能&#xff0c;每个功能模块均能实现从模块中退出&#xff0c;从而完成一个学生管理系统所需功能。 2&#xff0e;要使用结构体来实现对学生信息的存储。 3&am…

【JAVA】学生信息管理系统

目录 前言 一、环境搭建 二、功能实现 1.学生信息类的创建 2.学生信息的添加功能 3.学生信息的删除功能 4.学生信息的修改功能 5.学生信息的查看功能 三、主类的调用 1.界面的搭建 2.学生端和教师端 3.系统和功能的选择 总结 前言 JAVA实现的学生信息管理…

Java 学生管理系统(详解)

文章目录 学生类main方法首界面登录功能选择界面添加学生信息删除学生信息修改学生信息查看学生信息 学号遍历 和 清空控制台方法附&#xff1a;学生管理系统代码Student .JavaMain.JavaFunctionModule.javaExtents.Java 总结 下面会分享我在做这个练习时的一些方法以及程序代码…