当前位置: 首页 > news >正文

Java学习--学生管理系统(残破版)

代码

Main.java

import java.util.ArrayList;
import java.util.Scanner;public class Main {public static void main(String[] args) {ArrayList<Student> list = new ArrayList<>();loop:while (true) {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("请输入您的选择:");Scanner sc = new Scanner(System.in);String choose = sc.next();switch (choose) {case "1" -> AddStudent(list);case "2" -> DeleteStudent(list);case "3" -> UpdateStudent(list);case "4" -> LookStudent(list);case "5" -> {System.out.println("退出!");break loop;}default -> System.out.println("没有这个选项!");}}}// 添加学生public static void AddStudent(ArrayList<Student> list) {System.out.println("添加学生!");Student s = new Student();Scanner sc = new Scanner(System.in);System.out.println("请录入id:");while (true) {String id = sc.next();boolean soleIds = soleId(list, id);if (soleIds) {System.out.println("该id已经存在!");} else {s.setId(id);break;}}System.out.println("请输入姓名:");String name = sc.next();s.setName(name);System.out.println("请输入年龄:");int age = sc.nextInt();s.setAge(age);System.out.println("请输入家庭住址:");String address = sc.next();s.setAddress(address);list.add(s);}//删除学生的信息public static void DeleteStudent(ArrayList<Student> list) {System.out.println("请输入要删除的学生id:");Scanner sc = new Scanner(System.in);String id = sc.next();// 查询有没有这个学生int indexValue = getIndex(list, id);if (indexValue >= 0) {list.remove(indexValue);System.out.println("删除成功!");} else {System.out.println("该id不存在!");}}//修改学生的信息public static void UpdateStudent(ArrayList<Student> list) {System.out.println("请输入要修改的学生id:");Scanner sc = new Scanner(System.in);String id = sc.next();// 查询有没有这个学生Boolean values = soleId(list, id);int indexValue = getIndex(list, id);if (values) {Student stu = list.get(indexValue);System.out.println("请输入要修改的姓名:");String name = sc.next();stu.setName(name);System.out.println("请输入要修改的年龄:");int age = sc.nextInt();stu.setAge(age);System.out.println("请输入要修改的家庭住址:");String address = sc.next();stu.setAddress(address);System.out.println("修改成功!");} else {System.out.println("该id不存在!");}}//查询学生的信息public static void LookStudent(ArrayList<Student> list) {//如果没有学生if (list.isEmpty()) {System.out.println("当前暂无学生,请先添加后再查询!");return;}System.out.println("id\t姓名\t年龄\t家庭住址");for (int i = 0; i < list.size(); i++) {Student stu = list.get(i);System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge() + "\t" + stu.getAddress());}}//判断id是否唯一public static Boolean soleId(ArrayList<Student> list, String id) {for (int i = 0; i < list.size(); i++) {Student stu = list.get(i);String ids = stu.getId();if (ids.equals(id)) {return true;}}return false;}//获取集合中的索引public static int getIndex(ArrayList<Student> list, String id) {for (int i = 0; i < list.size(); i++) {Student stu = list.get(i);String ids = stu.getId();if (ids.equals(id)) {return i;}}return -1;}
}

Student.java

public class Student {private String id;private String name;private int age;private String address;public Student() {}public Student(String id, String name, int age, String address) {this.id = id;this.name = name;this.age = age;this.address = address;}/*** 获取* @return id*/public String getId() {return id;}/*** 设置* @param id*/public void setId(String id) {this.id = id;}/*** 获取* @return name*/public String getName() {return name;}/*** 设置* @param name*/public void setName(String name) {this.name = name;}/*** 获取* @return age*/public int getAge() {return age;}/*** 设置* @param age*/public void setAge(int age) {this.age = age;}/*** 获取* @return address*/public String getAddress() {return address;}/*** 设置* @param address*/public void setAddress(String address) {this.address = address;}}

效果图

主界面

增加和查询

删除

相关文章:

  • 微信小程序云开发教程——墨刀原型工具入门(Axure导入)
  • 【python】遵守 robots.txt 规则的数据爬虫程序
  • 汽车虚拟仿真技术的实现、应用和未来
  • PDF标准详解(二)——PDF 对象
  • 2024.3.2 训练记录(6)
  • 排序刷题12 -双向排序
  • Redis之一: 简介及环境安装搭建
  • CNN-LSTM-Attention混合神经网络归时序预测的MATLAB实现(源代码)
  • ESP-VO 论文阅读
  • Fastjson2 <== 2.0.26反序列漏洞
  • redis 为什么会阻塞
  • 二刷代码随想录算法训练营第七天 |454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
  • Python 编辑工具 Jupyter notebook
  • PTA天梯 L1-087 机工士姆斯塔迪奥
  • SQL中把datetime 转为字符串
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • es6
  • Js基础知识(一) - 变量
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • SpiderData 2019年2月13日 DApp数据排行榜
  • vue-cli3搭建项目
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 基于HAProxy的高性能缓存服务器nuster
  • 解析带emoji和链接的聊天系统消息
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 我有几个粽子,和一个故事
  • 在Unity中实现一个简单的消息管理器
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #NOIP 2014# day.2 T2 寻找道路
  • #WEB前端(HTML属性)
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (26)4.7 字符函数和字符串函数
  • (4)STL算法之比较
  • (第27天)Oracle 数据泵转换分区表
  • (论文阅读40-45)图像描述1
  • (一)Java算法:二分查找
  • (正则)提取页面里的img标签
  • (转)Scala的“=”符号简介
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @Query中countQuery的介绍
  • []使用 Tortoise SVN 创建 Externals 外部引用目录
  • [Android 13]Input系列--获取触摸窗口
  • [AX]AX2012 AIF(四):文档服务应用实例
  • [BZOJ] 2427: [HAOI2010]软件安装
  • [BZOJ4016][FJOI2014]最短路径树问题
  • [C++] cout、wcout无法正常输出中文字符问题的深入调查(1):各种编译器测试
  • [codevs] 1029 遍历问题
  • [Go WebSocket] 多房间的聊天室(五)用多个小锁代替大锁,提高效率
  • [HackMyVM]靶场 Wild
  • [Java] 模拟Jdk 以及 CGLib 代理原理