学生管理系统Java版

简单的学生管理系统

主界面编写:
1.用输出语句完成主界面的编写
2.用Scanner语句实现键盘的录入
3.用swich语句完成操作的选择
4.用循环完成再次回到主界面
代码实现:

while (true) {//1.用输出语句完成主界面的编写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("-----------------------------------");System.out.print("请输入你的选择:");//2.用Scanner语句实现键盘的录入Scanner sc = new Scanner(System.in);String num = sc.nextLine();//3.用swich语句完成操作的选择switch (num) {case "1"://System.out.println("添加学生");addStudent(array);break;case "2"://System.out.println("删除学生");deletestudent(array);break;case "3"://System.out.println("修改学生");updatestudent(array);break;case "4"://System.out.println("查看所有学生");findAllstudent(array);break;case "5":System.out.println("感谢使用学生管理系统");return;//System.exit(0); JVM退出//把while循环改为while(flag),在while循环前置flag=true,//在case5 这里让flag=false}

实现效果:在这里插入图片描述
一、添加学生
1.定义一个方法,用于添加学生信息
2.键盘录入学生对象所需要的数据,显示提示信息,提示输入何种信息
3.创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
4.将学生对象添加到集合中
5.给出提示信息"添加学生成功"
注意:在添加学生前先定义一个方法用于判断学生是否存在
代码实现:

//定义一个方法,判断添加的学生学号是否存在
public static boolean isUsed(ArrayList<student> array, String sid) {boolean flag = false;for (int i = 0; i < array.size(); i++) {student s = array.get(i);if (s.getSid().equals(sid)) {   //如果输入的学生与集合中相同flag = true;break;}}return flag;
}
public static void addStudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);//为了让sid在while循环外被访问到,把它定义在循环外String sid;//为了让程序能够回到这里,我们使用循环实现while (true) {System.out.println("请输入学生学号:");//  String sid = sc.nextLine();//上面定义了sid,这里不用Stringsid = sc.nextLine();boolean flag = isUsed(array, sid);if (flag) {System.out.println("你输入的学生已存在,请重更新输入");} else {break;}}System.out.println("请输入学生姓名:");String name = sc.nextLine();System.out.println("请输入学生年龄:");String age = sc.nextLine();System.out.println("请输入学生居住地:");String address = sc.nextLine();student s = new student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);array.add(s);System.out.println("添加学生成功");}

二、查看学生
(用键盘录入选择查看所有学生信息)
1.定义一个方法,用于查看学生信息。
2.判断集合中是否有数据,如果没有显示提示信息。
3.显示表头信息。
4.将集合中数据取出按照格式显示学生信息,年龄显示补充“岁”。
5.调用方法
注意:在查看学生前也要判断学生是否存在。
代码实现:

//定义一个方法,用于查看所有学生信息
public static void findAllstudent(ArrayList<student> array) {//判断集合中是否有数据,如果没有数据显示提示信息if (array.size() == 0) {System.out.println("没有学生信息,请添加学生信息后查询");}//2.显示表头信息System.out.println("学号\t\t姓名\t年龄\t居住地");for (int i = 0; i < array.size(); i++) {student s = array.get(i);System.out.println(s.getSid() + "\t\t" + s.getName() + "\t" + s.getAge() + "岁\t" + s.getAddress());}
}

三、删除学生
1.定义一个方法,用于删除学生信息
2.键盘输入要删除学生的学号,显示提示信息
3.遍历集合将对应学生对象从集合中删除
4.给出删除成功提示信息
5.调用方法
注意:在删除学生时也要判断学生是否存在
代码实现:

//定义一个方法,用于删除学生信息
public static void deletestudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);System.out.println("请输入你要删除的学生学号");String sid = sc.nextLine();int index = -1;for (int i = 0; i < array.size(); i++) {student s = array.get(i);if (s.getSid().equals(sid)) {index = i;break;}}if (index == -1) {System.out.println("你输入的学生不存在,请重新输入");} else {array.remove(index);System.out.println("删除学生成功");}
}

四、修改学生信息
1.键盘录入要修改的学生学号,显示提示信息
2.键盘录入要修改的学生信息
3.创建学生对象
4.遍历集合修改对应的学生信息
5.给出修改成功提示
6.调用方法
注意:在修改学生时也要判断要修改的学生是否存在
代码实现:

//定义一个方法,用于修改学生信息
public static void updatestudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);System.out.println("请输入你要修改的学生的学号");String sid = sc.nextLine();System.out.println("请输入学生新姓名:");String name = sc.nextLine();System.out.println("请输入学生新年龄:");String age = sc.nextLine();System.out.println("请输入学生新居住地:");String address = sc.nextLine();student s = new student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);int index = -1;for (int i = 0; i < array.size(); i++) {student student = array.get(i);if (student.getSid().equals(sid)) {index = i;break;}}if (index == -1) {System.out.println("你输入的学生不存在,请重新输入");} else {array.set(index, s);System.out.println("修改学生成功");}}

最后附上完全代码:

package StudentManager;import java.util.ArrayList;
import java.util.Scanner;/*学生管理系统主界面编写:1.用输出语句完成主界面的编写2.用Scanner语句实现键盘的录入3.用swich语句完成操作的选择4.用循环完成再次回到主界面一、添加学生1.定义一个方法,用于添加学生信息2.键盘录入学生对象所需要的数据,显示提示信息,提示输入何种信息3.创建学生对象,把键盘录入的数据赋值给学生对象的成员变量4.将学生对象添加到集合中5.给出提示信息"添加学生成功"二、查看学生(用键盘录入选择查看所有学生信息)1.定义一个方法,用于查看学生信息2.判断集合中是否有数据,如果没有显示提示信息3.显示表头信息4.将集合中数据取出按照格式显示学生信息,年龄显示补充“岁”5.调用方法三、删除学生1.定义一个方法,用于删除学生信息2.键盘输入要删除学生的学号,显示提示信息3.遍历集合将对应学生对象从集合中删除4.给出删除成功提示信息5.调用方法四、修改学生信息1.键盘录入要修改的学生学号,显示提示信息2.键盘录入要修改的学生信息3.创建学生对象4.遍历集合修改对应的学生信息5.给出修改成功提示6.调用方法五、解决删除/修改学生学号不存在问题1.在删除/修改学生操作钱,对学号是否存在进行判断如果不存在,显示提示信息如果存在,执行删除/修改操作六、解决添加学生学号重复问题1.定义一个方法,对学号是否杯使用进行判断如果与集合中的学生学号相同返回true如果不相同,返回false2.在添加学生录入学号后调用该方法如果返回true,弹出提示,重新输入学号如果返回false,正常添加学生对象*/public class MyStudentManagerment {//主界面操作public static void main(String[] args) {//创建集合对象,用于存储学生数据ArrayList<student> array = new ArrayList<student>();//4.用循环完成再次回到主界面while (true) {//1.用输出语句完成主界面的编写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("-----------------------------------");System.out.print("请输入你的选择:");//2.用Scanner语句实现键盘的录入Scanner sc = new Scanner(System.in);String num = sc.nextLine();//3.用swich语句完成操作的选择switch (num) {case "1"://System.out.println("添加学生");addStudent(array);break;case "2"://System.out.println("删除学生");deletestudent(array);break;case "3"://System.out.println("修改学生");updatestudent(array);break;case "4"://System.out.println("查看所有学生");findAllstudent(array);break;case "5":System.out.println("感谢使用学生管理系统");return;//System.exit(0); JVM退出//把while循环改为while(flag),在while循环前置flag=true,//在case5 这里让flag=false}}}//定义一个方法,判断添加的学生学号是否存在public static boolean isUsed(ArrayList<student> array, String sid) {boolean flag = false;for (int i = 0; i < array.size(); i++) {student s = array.get(i);if (s.getSid().equals(sid)) {   //如果输入的学生与集合中相同flag = true;break;}}return flag;}//定义一个方法,用于添加学生信息public static void addStudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);//为了让sid在while循环外被访问到,把它定义在循环外String sid;//为了让程序能够回到这里,我们使用循环实现while (true) {System.out.println("请输入学生学号:");//  String sid = sc.nextLine();//上面定义了sid,这里不用Stringsid = sc.nextLine();boolean flag = isUsed(array, sid);if (flag) {System.out.println("你输入的学生已存在,请重更新输入");} else {break;}}System.out.println("请输入学生姓名:");String name = sc.nextLine();System.out.println("请输入学生年龄:");String age = sc.nextLine();System.out.println("请输入学生居住地:");String address = sc.nextLine();student s = new student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);array.add(s);System.out.println("添加学生成功");}//定义一个方法,用于查看所有学生信息public static void findAllstudent(ArrayList<student> array) {//判断集合中是否有数据,如果没有数据显示提示信息if (array.size() == 0) {System.out.println("没有学生信息,请添加学生信息后查询");}//2.显示表头信息// \t(制表符) 其实就是tab键的位置System.out.println("学号\t\t姓名\t年龄\t居住地");//3.将集合中数据取出按照格式显示学生信息,年龄显示补充“岁”for (int i = 0; i < array.size(); i++) {student s = array.get(i);System.out.println(s.getSid() + "\t\t" + s.getName() + "\t" + s.getAge() + "岁\t" + s.getAddress());}}//定义一个方法,用于删除学生信息public static void deletestudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);System.out.println("请输入你要删除的学生学号");String sid = sc.nextLine();int index = -1;for (int i = 0; i < array.size(); i++) {student s = array.get(i);if (s.getSid().equals(sid)) {index = i;break;}}if (index == -1) {System.out.println("你输入的学生不存在,请重新输入");} else {array.remove(index);System.out.println("删除学生成功");}}//定义一个方法,用于修改学生信息public static void updatestudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);System.out.println("请输入你要修改的学生的学号");String sid = sc.nextLine();System.out.println("请输入学生新姓名:");String name = sc.nextLine();System.out.println("请输入学生新年龄:");String age = sc.nextLine();System.out.println("请输入学生新居住地:");String address = sc.nextLine();student s = new student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);int index = -1;for (int i = 0; i < array.size(); i++) {student student = array.get(i);if (student.getSid().equals(sid)) {index = i;break;}}if (index == -1) {System.out.println("你输入的学生不存在,请重新输入");} else {array.set(index, s);System.out.println("修改学生成功");}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dubbo 配置文件详解

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、dubbo常用配置 <dubbo:service/> 服务配置&#xff0c;用于暴露一个服务&#xff0c;定义服务的元信息&#xff0c;一个服务可…

ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路

一、前言 最近一段时间自己主要的学习计划还是按照毕业后设定的计划&#xff0c;自己一步步的搭建一个前后端分离的 ASP.NET Core 项目&#xff0c;目前也还在继续学习 Vue 中&#xff0c;虽然中间断了很长时间&#xff0c;好歹还是坚持下来了&#xff0c;嗯&#xff0c;看了看…

学以致用十三-----Centos7.2+python3+YouCompleteMe成功历程

历经几天的摸索&#xff0c;趟过几趟坑之后&#xff0c;终于完成YouCompleteMe的安装配置。 今天同样是个不能忘记的日子&#xff0c;国耻日&#xff0c;勿忘国耻。&#xff08;9.18&#xff09; 服务器安装好&#xff0c;基本配置配置好后&#xff0c;开始安装。 一、检查服务…

VC画图用到的主要方法

1。鼠标落下&#xff0c;记录鼠标的起始位置 void CMyEasyDrawView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 //graph->m_nTypedlg-> m_bStartDraw true; m_PtPress m_PtLast point; CView::OnLButtonDown…

【最新版】Java学习路线(含B站口碑推荐视频链接)

文章目录关于如何自学一、计算机网络二、数据结构与算法三、操作系统四、计算机组成原理五、编译原理六、设计模式七、MySQL八、实操工具九、JAVA并发与JVM十、Redis十一、Linux十二、Java路线学习尚硅谷黑马程序员动力节点狂神说十三、Java基础十四、JavaWeb十五、框架十六、微…

记录no static method cannot be reference

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 报错如题&#xff1a; no static method cannot be reference 我一直以为是在静态方法中调用了非静态方法&#xff0c;实际上只是我在注…

文件存储权限

Android 6.0及以上&#xff0c;需要动态申请权限&#xff1a; Manifest.permission.READ_EXTERNAL_STORAGE Manifest.permission.WRITE_EXTERNAL_STORAGE <uses-permission-sdk-23 android:name"android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permis…

从工具的奴隶到工具的主人

摘要&#xff1a;我们每个人都是工具的奴隶。随着我们的学习&#xff0c;我们不断的加深自己对工具的认识&#xff0c;从而从它们里面解脱出来。现在我就来说一下我作为各种工具的奴隶&#xff0c;以及逐渐摆脱它们的思想控制的历史吧。 当我高中毕业进入大学计算机系的时候&am…

记录A component required a bean named ‘studentService‘ that could not be found.

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 报错如题&#xff1a; A component required a bean named studentService that could not be found. 出问题的代码行&#xff1a; &l…

Java---利用程序实现在控制台聊天

一.普通版&#xff08;不能实现随意输入&#xff09; 电脑A(服务器端) package day; import java.net.ServerSocket; import java.net.Socket; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner;public class Mysever {public static void…

16.看板方法——三类改进机会笔记

00.三种常见的模型和它们一些变种&#xff1a;约束理论及其主要理念&#xff1b;还有聚焦于分析和减少变异性的模型及其变种等。 01.五步聚焦法 *a.识别约束 *b.作出决定&#xff0c;以最大化利用约束 *c.使系统中的其余一切部分都服从于b中做出决定 *d.突破约束 *e.避免惰性&a…

C/C++的64位整型

在C/C中&#xff0c;64为整型一直是一种没有确定规范的数据类型。现今主流的编译器中&#xff0c;对64为整型的支持也是标准不一&#xff0c;形态各异。一般来说&#xff0c;64位整型的定义方式有long long和__int64两种(VC还支持_int64)&#xff0c;而输出到标准输出方式有pri…

记录 Duplicate spring bean id dubbo

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 启动工程 报错如题&#xff1a; Duplicate spring bean id dubbo &#xff0c;意思是id 重复。 原因是我在加载配置文件时加载了两个…

1.KafKa-介绍

转载于:https://www.cnblogs.com/v-lcc/p/9674975.html

关于日志的123

写在前面&#xff1a; 关于日志其实有很多想说的&#xff0c;不过将自己整理的文档转化为Blog还是比较花时间的&#xff0c;偶有疏漏&#xff0c;请多包涵。 本篇文章所讲均只止于Java。 日志的作用&#xff1a; 1.定位问题&#xff0c;对于一个系统而言&#xff0c;总是会有些…

研究显示每天工作超8小时得心脏病概率增加80%,生命很重要,工作不要那个累。

每天工作超过8小时的人患心脏病的风险最高可增加80%(资料图) 据英国《每日邮报》9月12日报道&#xff0c;芬兰职业保健研究所的科学家们近日进行了一项研究&#xff0c;他们发现每天工作超过8小时的人患心脏病的风险最高可增加80%。 研究人员表示&#xff0c;长时间的工作是许多…

SVN介绍

1.SVN介绍SVN是一个跨平台的开源的版本控制系统&#xff0c;svn版本管理工具管理着随时间改变的各种数据&#xff0c;这些数据放置在一个中央档案库&#xff08;repository&#xff09;中&#xff0c;svn会备份并记录每个文件每一次的修改、更新、变动。这样可以把任意一个时间…

记录 Annotation processing is not supported for module cycles.

报错&#xff1a;Error:java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [A,B] are excluded from annotation processing 我是想启动两个 maven工程&#xff0c;相互作为服务提供方和消费方&#xff0c;于是在p…

沉淀再出发:Spring的架构理解

沉淀再出发:Spring的架构理解 一、前言 在Spring之前使用的EJB框架太庞大和重量级了&#xff0c;开发成本很高&#xff0c;由此spring应运而生。关于Spring&#xff0c;学过java的人基本上都会慢慢接触到&#xff0c;并且在面试的时候也是经常遇到的&#xff0c;因为这个技术极…

用Python进行机器学习所需环境的配置(转)

源&#xff1a;用Python进行机器学习所需环境的配置