学生管理系统实现增删改查


文章目录

  • 学生管理系统实现增删改查
  • 前言
  • 一、代码块
  • 二、代码分析
    • 1.代码思路
    • 2,学生类
    • 3,接口
    • 4,chuli类
    • 5, 在主类中,kaishi方法
    • 5,显示效果

前言

学生管理系统通过集合实现学生信息添加,修改,删除,查找,输出所有信息等功能。


一、代码块

import java.util.ArrayList;
import java.util.Scanner;public class test {static Scanner sc = new Scanner(System.in);public static void main(String[] args) {kaishi();}public static void kaishi(){jiekou jk = new chuli();while(true){System.out.println("===========学生管理系统==============");System.out.println("\t1,添加新学生信息");System.out.println("\t2,删除学生信息");System.out.println("\t3,修改学生信息");System.out.println("\t4,查询学生信息");System.out.println("\t5,输出所有学生信息");System.out.println("\t6,退出系统");int key = sc.nextInt();switch(key){case 1:if (jk.add()) System.out.println("添加成功");else System.out.println("添加失败");break;case 2:if(jk.rmove()) System.out.println("删除成功");else System.out.println("删除失败");break;case 3:if(jk.updata()) System.out.println("修改成功");else System.out.println("修改失败");break;case 4:jk.show();break;case 5:jk.print();break;case 6:System.out.println("退出成功");return;default:System.out.println("输入有误");}}}
}interface jiekou{boolean add();       //添加boolean rmove();     //删除boolean updata();    //修改void show();         //查询void print();        //输出
}
class chuli implements jiekou{Scanner sc = new Scanner(System.in);public ArrayList<Student> arr = new ArrayList<>();//构造方法public chuli(){arr.add(new Student("aierken","nan",18,"19199467744" ,"xinjiang"));arr.add(new Student("nijia","nan",18,"19199466445" ,"shandong"));arr.add(new Student("aier","nv",25,"19199557744" ,"beijing"));arr.add(new Student("ken","nv",36,"19199467744" ,"xinjiang"));arr.add(new Student("aier","nv",25,"19199557744" ,"beijing"));}//添加@Overridepublic boolean add(){try{System.out.println("-------添加学生信息--------");System.out.print("\t请输入学生姓名:");String name = sc.next();System.out.print("\t请输入学生性别:");String bl = sc.next();System.out.print("\t请输入学生年龄:");int age = sc.nextInt();System.out.print("\t请输入学生电话:");String phone = sc.next();System.out.print("\t请输入学生地址:");String address = sc.next();arr.add(new Student(name,bl,age,phone,address));return true;}catch(Exception e){sc.next();System.out.println("输入格式有误");}return false;}//删除@Overridepublic boolean rmove(){System.out.println("-------删除学生信息--------");System.out.print("\t请输入要删除的学生姓名:");String name = sc.next();Student[] stunum = chazhao(name);int num = stunum.length;if(num!=0){if (num == 1){arr.remove(stunum[0]);return true;}System.out.println("您要删除哪一个?(请输入序号)");int key = sc.nextInt();if(key<=num){arr.remove(stunum[key-1]);return true;}System.out.println("输入有误");}return false;}//修改    查询要修改的学生@Overridepublic boolean updata() {System.out.println("-------修改学生信息--------");System.out.print("\t请输入要修改的学生姓名:");String name = sc.next();Student[] stunum = chazhao(name);int num = stunum.length;if(num!=0){if (num == 1){arr.add(xiugai(stunum[0]));arr.remove(stunum[0]);return true;}System.out.println("您要修改哪一个?(请输入序号)");int key = sc.nextInt();if(key<=num){arr.add(xiugai(stunum[0]));arr.remove(stunum[0]);return true;}System.out.println("输入有误");}return false;}//查询@Overridepublic void show(){System.out.println("---------查询学生信息--------");System.out.print("请输入要查询的学生姓名:");String name = sc.next();chazhao(name);}//输出所有@Overridepublic void print(){System.out.println("----------输出所有学生信息----------");for (Student stu:arr){System.out.println(stu.toString());}}//修改方法    对值进行修改并返回public Student xiugai(Student stu){System.out.println("请输入修改选项:");System.out.println("\t1,姓名:"+"\n"+"\t2,年龄:"+"\n"+"\t3,电话:"+"\n"+"\t4,地址:");int key = sc.nextInt();switch(key){case 1:System.out.print("请输入新名:");stu.setName(sc.next());break;case 2:System.out.print("请输入年龄:");stu.setAge(sc.nextInt());break;case 3:System.out.print("请输入电话:");stu.setPhone(sc.next());break;case 4:System.out.print("请输入地址:");stu.setAddress(sc.next());break;default:System.out.println("输入有误");}return stu;}//查找方法      查找给定的学生信息并返回public Student[] chazhao(String name){Student[] stunum = new Student[arr.size()];int num = 0;for (Student stu : arr){if(name.equals(stu.getName())){stunum[num] = stu;num++;}}System.out.println("共找到"+num+"个"+name);System.out.println();Student[] students = new Student[num];for(int i=0;i<num;i++){System.out.println((i+1)+","+stunum[i].toString());students[i] = stunum[i];}return students;}
}class Student{private String name;    //姓名final String bl;     //性别private int age;    //年龄private String phone;   //电话private String address;     //地址public Student(String name,String bl,int age,String phone,String address){this.name = name;this.bl = bl;this.age = age;this.phone = phone;this.address = address;}@Overridepublic String toString() {return "姓名=" + name + "\t" +", 性别=" + bl +", 年龄=" + age +", 电话=" + phone + "\t"  +", 地址=" + address + "\t" ;}public String getName() {return name;}public void setName(String name) {this.name = name;}/*public String isBl() {return bl;}public void setBl(String bl) {this.bl = bl;}*/public int getAge() {return age;}public void setAge(int age) {this.age = age;}/*public String getPhone() {return phone;}*/public void setPhone(String phone) {this.phone = phone;}/*public String getAddress() {return address;}*/public void setAddress(String address) {this.address = address;}
}

二、代码分析

1.代码思路

代码是由简单工厂类思路编写,在编写好学生类之后,再编写一个jiekou类接口:
接口有 添加 删除 修改 查询 输出所有 等方法
这些方法由chuli类实现
在主类编写一个kaishi方法,在方法中处理用户的选择以及操作反馈。

2,学生类

在学生类定义属性,get set方法以及重写toString方法

class Student{private String name;    //姓名final String bl;     //性别private int age;    //年龄private String phone;   //电话private String address;     //地址public Student(String name,String bl,int age,String phone,String address){this.name = name;this.bl = bl;this.age = age;this.phone = phone;this.address = address;}@Overridepublic String toString() {return "姓名=" + name + "\t" +", 性别=" + bl +", 年龄=" + age +", 电话=" + phone + "\t"  +", 地址=" + address + "\t" ;}public String getName() {return name;}public void setName(String name) {this.name = name;}/*public String isBl() {return bl;}public void setBl(String bl) {this.bl = bl;}*/public int getAge() {return age;}public void setAge(int age) {this.age = age;}/*public String getPhone() {return phone;}*/public void setPhone(String phone) {this.phone = phone;}/*public String getAddress() {return address;}*/public void setAddress(String address) {this.address = address;}
}

3,接口

在接口编写 添加 删除 修改 查询 输出所有 等方法,让chuli类实现接口

interface jiekou{boolean add();       //添加boolean rmove();     //删除boolean updata();    //修改void show();         //查询void print();        //输出
}

4,chuli类

  1. chuli类实现接口jiekou
  2. 在处理类中定义容器,并把新添加的学生类添加到容器中。
  3. 编写构造方法,在构造方法中添加几个学生信息。
  4. 在实现接口jiekou的同时再编写两个方法,为实现接口方法使用。
class chuli implements jiekou{Scanner sc = new Scanner(System.in);public ArrayList<Student> arr = new ArrayList<>();//构造方法public chuli(){arr.add(new Student("aierken","nan",18,"19199465744" ,"xinjiang"));arr.add(new Student("nijia","nan",18,"19199466445" ,"shandong"));arr.add(new Student("aier","nv",25,"19199557744" ,"beijing"));arr.add(new Student("ken","nv",36,"19199435744" ,"xinjiang"));arr.add(new Student("aier","nv",25,"19199557744" ,"beijing"));}//添加@Overridepublic boolean add(){try{System.out.println("-------添加学生信息--------");System.out.print("\t请输入学生姓名:");String name = sc.next();System.out.print("\t请输入学生性别:");String bl = sc.next();System.out.print("\t请输入学生年龄:");int age = sc.nextInt();System.out.print("\t请输入学生电话:");String phone = sc.next();System.out.print("\t请输入学生地址:");String address = sc.next();arr.add(new Student(name,bl,age,phone,address));return true;}catch(Exception e){sc.next();System.out.println("输入格式有误");}return false;}//删除@Overridepublic boolean rmove(){System.out.println("-------删除学生信息--------");System.out.print("\t请输入要删除的学生姓名:");String name = sc.next();Student[] stunum = chazhao(name);int num = stunum.length;if(num!=0){if (num == 1){arr.remove(stunum[0]);return true;}System.out.println("您要删除哪一个?(请输入序号)");int key = sc.nextInt();if(key<=num){arr.remove(stunum[key-1]);return true;}System.out.println("输入有误");}return false;}//修改    查询要修改的学生@Overridepublic boolean updata() {System.out.println("-------修改学生信息--------");System.out.print("\t请输入要修改的学生姓名:");String name = sc.next();Student[] stunum = chazhao(name);int num = stunum.length;if(num!=0){if (num == 1){arr.add(xiugai(stunum[0]));arr.remove(stunum[0]);return true;}System.out.println("您要修改哪一个?(请输入序号)");int key = sc.nextInt();if(key<=num){arr.add(xiugai(stunum[0]));arr.remove(stunum[0]);return true;}System.out.println("输入有误");}return false;}//查询@Overridepublic void show(){System.out.println("---------查询学生信息--------");System.out.print("请输入要查询的学生姓名:");String name = sc.next();chazhao(name);}//输出所有@Overridepublic void print(){System.out.println("----------输出所有学生信息----------");for (Student stu:arr){System.out.println(stu.toString());}}//修改方法    对值进行修改并返回public Student xiugai(Student stu){System.out.println("请输入修改选项:");System.out.println("\t1,姓名:"+"\n"+"\t2,年龄:"+"\n"+"\t3,电话:"+"\n"+"\t4,地址:");int key = sc.nextInt();switch(key){case 1:System.out.print("请输入新名:");stu.setName(sc.next());break;case 2:System.out.print("请输入年龄:");stu.setAge(sc.nextInt());break;case 3:System.out.print("请输入电话:");stu.setPhone(sc.next());break;case 4:System.out.print("请输入地址:");stu.setAddress(sc.next());break;default:System.out.println("输入有误");}return stu;}//查找方法      查找给定的学生信息并返回public Student[] chazhao(String name){Student[] stunum = new Student[arr.size()];int num = 0;for (Student stu : arr){if(name.equals(stu.getName())){stunum[num] = stu;num++;}}System.out.println("共找到"+num+"个"+name);System.out.println();Student[] students = new Student[num];for(int i=0;i<num;i++){System.out.println((i+1)+","+stunum[i].toString());students[i] = stunum[i];}return students;}
}

5, 在主类中,kaishi方法

  1. 在方法中定义接口并创建处理类。
  2. 通过while循环判断用户选择,对用户选择进行处理并反馈处理结果。
public static void kaishi(){jiekou jk = new chuli();while(true){System.out.println("===========学生管理系统==============");System.out.println("\t1,添加新学生信息");System.out.println("\t2,删除学生信息");System.out.println("\t3,修改学生信息");System.out.println("\t4,查询学生信息");System.out.println("\t5,输出所有学生信息");System.out.println("\t6,退出系统");int key = sc.nextInt();switch(key){case 1:if (jk.add()) System.out.println("添加成功");else System.out.println("添加失败");break;case 2:if(jk.rmove()) System.out.println("删除成功");else System.out.println("删除失败");break;case 3:if(jk.updata()) System.out.println("修改成功");else System.out.println("修改失败");break;case 4:jk.show();break;case 5:jk.print();break;case 6:System.out.println("退出成功");return;default:System.out.println("输入有误");}}
}

5,显示效果

  • 主页
===========学生管理系统==============1,添加新学生信息2,删除学生信息3,修改学生信息4,查询学生信息5,输出所有学生信息6,退出系统
  • 添加学生
===========学生管理系统==============1,添加新学生信息2,删除学生信息3,修改学生信息4,查询学生信息5,输出所有学生信息6,退出系统
1
-------添加学生信息--------请输入学生姓名:kenken请输入学生性别:男请输入学生年龄:25请输入学生电话:19999999999请输入学生地址:新疆
添加成功
  • 删除学生

===========学生管理系统==============1,添加新学生信息2,删除学生信息3,修改学生信息4,查询学生信息5,输出所有学生信息6,退出系统
2
-------删除学生信息--------请输入要删除的学生姓名:aier
共找到2个aier1,姓名=aier , 性别=nv, 年龄=25, 电话=19199557744   , 地址=beijing
2,姓名=aier  , 性别=nv, 年龄=25, 电话=19199557744   , 地址=beijing
您要删除哪一个?(请输入序号)
1
删除成功
  • 修改学生信息
===========学生管理系统==============1,添加新学生信息2,删除学生信息3,修改学生信息4,查询学生信息5,输出所有学生信息6,退出系统
3
-------修改学生信息--------请输入要修改的学生姓名:kenken
共找到1个kenken1,姓名=kenken , 性别=男, 年龄=25, 电话=19999999999    , 地址=新疆
请输入修改选项:1,姓名:2,年龄:3,电话:4,地址:
4
请输入地址:北京
修改成功
  • 查询学生信息
===========学生管理系统==============1,添加新学生信息2,删除学生信息3,修改学生信息4,查询学生信息5,输出所有学生信息6,退出系统
4
---------查询学生信息--------
请输入要查询的学生姓名:kenken
共找到1个kenken1,姓名=kenken , 性别=男, 年龄=25, 电话=19999999999    , 地址=北京
===========学生管理系统==============1,添加新学生信息2,删除学生信息3,修改学生信息4,查询学生信息5,输出所有学生信息6,退出系统
4
---------查询学生信息--------
请输入要查询的学生姓名:baba
共找到0个baba
  • 输出所有学生信息
===========学生管理系统==============1,添加新学生信息2,删除学生信息3,修改学生信息4,查询学生信息5,输出所有学生信息6,退出系统
5
----------输出所有学生信息----------
姓名=aierken , 性别=nan, 年龄=18, 电话=19199467744  , 地址=xinjiang
姓名=nijia   , 性别=nan, 年龄=18, 电话=19199466445  , 地址=shandong
姓名=ken , 性别=nv, 年龄=36, 电话=19199467744   , 地址=xinjiang
姓名=aier    , 性别=nv, 年龄=25, 电话=19199557744   , 地址=beijing
姓名=kenken  , 性别=男, 年龄=25, 电话=19999999999    , 地址=北京

学生管理系统实现增删改查相关推荐

  1. iOS 简单的学生管理系统(增删改查)

    思路 这个简单的学生管理系统学生信息只有姓名,班级,年龄 我在app执行时加了个开始界面,在AppDelegate.m 中将根视图设为需要显示的开机界面即可 首先写登陆注册界面,注册需要查重,并转到登 ...

  2. Java对接MySQL实现学生管理系统(增删改查)

    工具:MySQL,Java,,一双手 话不多说开始教程: 打开MySQL,设置连接名studentsmanger(都可以) 新建数据库(stuk) 新建表 mysq(重要!!) MySQL设置好,进入 ...

  3. python输入学生姓名_python学生管理系统(增删改查以及菜单返回操作)

    (1)功能需求:1.在一个循环中可以输入内容2.显示函数1.新的商业卡2.显示所有3.查询业务网卡0.退出系统3.他们想让用户输入操作执行,比如输入1,2,3,04.新list-prompt用户输入名 ...

  4. java+SQL做学生信息管理系统(增删改查)

    java+SQL做学生信息管理系统(增删改查) [过程中需要用到的所有工具数据库以及数据库管理器等等] https://pan.baidu.com/s/1cLKJPKXauLCl-Vwah6wFIQ ...

  5. Java语言写一个简单的学生信息管理系统,通过JDBC连接数据库对学生信息进行增删改查,采用三层思想和DBUtils第三方框架。

    我把源代码和sql文件放GitHub上了,你们可以自行下载:https://github.com/fenglily1/student. 有问题可以留言或私信,我看到就会回. 进阶版加上页面的管理系统在 ...

  6. java 学生信息的增删改查_学生信息的增删改查(java)

    学生信息的增删改查 注意:此处用到的是access数据库. 运行后效果如图: 代码如下: package example; import java.awt.*; import java.awt.eve ...

  7. C++通讯管理系统------实现增删改查的小练习

    C++通讯管理系统------实现增删改查的小练习 仅以此文标记C++的C部分基础语法学习结束 程序非常简单,注意指针传递和值传递 #include <iostream> #include ...

  8. php学生信息管理:增删改查

    简单实现学生信心的增删改查: 创建数据库student和表studeninfo 在phpstudey WWW目录下创建项目student文件夹 1.首先创建coon文件夹,里面创建连接数据库的coon ...

  9. 使用javaweb进行用户管理系统的增删改查,分页和条件查询

    使用javaweb进行用户管理系统的增删改查,分页和条件查询 如有转载请标注来源!!!谢谢配合 源码已经上传,可以自行下载 https://download.csdn.net/download/wei ...

最新文章

  1. mybatis中的TypeHandler设计与实现
  2. Floating-Rate Note - FRN
  3. JVM中GC Root对象有哪些?
  4. 德勤发布《 2020 亚太四大半导体市场的崛起》报告,美国收入占比达到47%,中国大陆仅占 5%
  5. url过滤怎么解除_Shiro-实战(四)---过滤器机制
  6. Open Harmony移植:build lite编译构建过程
  7. 搞清楚一道关于Integer的面试题
  8. 如何成为一名优秀的初级开发者?
  9. VMWare虚拟机安装RedHat Linux全过程
  10. 深入理解JavaScript的设计模式
  11. android 在非UI线程更新UI仍然成功原因深入剖析
  12. 还在为表单搭建而烦恼吗?免费低代码平台足够解忧~
  13. word文档太大怎么压缩?
  14. (二)ElasticSearch实战基础教程(ElasticSearch入门)
  15. three.js创建简单的法向贴图
  16. 火狐浏览器点击下载按钮没反应
  17. Java Z 字形变换
  18. 百度地图之鼠标绘制工具条库(开源库)
  19. ​嘉楠往事:浮沉八载,如今剑指美股
  20. 数据中台夯实数据基础

热门文章

  1. 对于学习知识的一点心得体会
  2. Gox语言中的运算符和操作符-GX13
  3. 04-HTML标签图文详解(一)
  4. 图片大小以及dp和px关系一览表,logo尺寸
  5. idea中有关Java对象创捷和打印的快捷键
  6. kafka 消息队列
  7. 亏损?盈利?禾赛科技Q1财报背后的激光雷达赛道「现实」
  8. UML系列图——用例图(Use Case)
  9. 直播手机视频app html5,html5做视频直播,iPhone不支持
  10. matlab什么时候用数值积分,如何用matlab如何实现数值积分