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;}}

效果图

主界面

增加和查询

删除

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

python笔记_数据类型

定义&#xff1a;python的变量在使用前必须赋值&#xff0c;数据类型指的是变量指定的内存数据的类型 string字符串类型使用引号int整型整数float浮点型小数bool布尔值(逻辑)输出true/false A&#xff0c;整数类型 整型字节 1,python的整数有十六进制&#xff0c;十进制&#…

腾讯云4核8G的云服务器性能水平?使用场景说明

腾讯云4核8G服务器适合做什么&#xff1f;搭建网站博客、企业官网、小程序、小游戏后端服务器、电商应用、云盘和图床等均可以&#xff0c;腾讯云4核8G服务器可以选择轻量应用服务器4核8G12M或云服务器CVM&#xff0c;轻量服务器和标准型CVM服务器性能是差不多的&#xff0c;轻…

vite构建vue3+Ts项目 并配置路由router

1、创建项目&#xff1a; 使用 Vite 初始化一个 Vue 3 项目 npm create vitelatest vue3-project --template vue-ts温馨提示&#xff1a;上述命令中&#xff0c;my-vue3-project是自定义的项目名称 可根据需要进行修改 2、进入项目目录&#xff1a; cd my-vue3-project3、安…

有方机器人 STM32智能小车 项目学习笔记1

今天开始学习有方机器人--智能小车项目&#xff0c;正点原子部分的学习先放一放&#xff0c;还是小车更有吸引力哈哈。 新建工程及工程模板搭建 新建工程须知 目前常用的 STM32 的开发方式主要有基于寄存器编程、基于标准库函数编程、基于 HAL 库编程这三种。 寄存器版本--…

阿里云国际云服务器全局流量分析功能详细介绍

进行全局流量分析时&#xff0c;内网DNS解析会作为一个整体模块&#xff0c;其他模块的边缘虚框颜色会置灰&#xff0c;示意作为一个整体进行全局分析&#xff0c;左侧Region可以展开/汇总&#xff0c;也可以单独选中某个Region模块进行分析&#xff08;这时其他Region的流量线…

基于最小二乘正弦拟合算法的信号校正matlab仿真,校正幅度,频率以及时钟误差,输出SNDR,SFDR,ENOB指标

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 最小二乘正弦拟合 4.2 SNDR、SFDR 和 ENOB 计算 4.3 校正 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..........................…

计网Lesson17 - 拥塞控制

文章目录 1. 拥塞控制1.1 什么是拥塞1.2 拥塞控制的常用算法1.2.1 慢开始1.2.2 拥塞避免1.2.3 快重传1.2.4 快恢复 1. 拥塞控制 1.1 什么是拥塞 拥塞&#xff1a;在某段时间&#xff0c;若对网络中某⼀资源的需求超过了该资源所能提供的可用部分&#xff0c;网络性能就要变坏…

node.js 用 xml2js.Parser 读 Freeplane.mm文件,生成测试用例.csv文件

Freeplane 是一款基于 Java 的开源软件&#xff0c;继承 Freemind 的思维导图工具软件&#xff0c;它扩展了知识管理功能&#xff0c;在 Freemind 上增加了一些额外的功能&#xff0c;比如数学公式、节点属性面板等。 编写 mm_xml2js_csv.js 如下 // 用 xml2js.Parser 读 F…

2023 安洵杯-PWN-【side_channel】

文章目录 side_channel libc 2.37检查IDA源码思路选择合适的syscall的gadget寻找可写入shellcode的内存区间mprotect()修改属性 exp side_channel libc 2.37 检查 禁用了write&#xff0c;能用open和read和mprotect IDA源码 __int64 __fastcall main(int a1, char **a2, cha…

第三章-Mybatis源码解析-以xml方式走流程-mapper解析(一)

讲解前&#xff0c;我们先思考几个问题&#xff1a; 1、谁来解析&#xff1f; 2、用什么解析&#xff1f; 3、解析成什么&#xff1f; 4、解析结果如何存放&#xff1f; 5、最终用途&#xff1f; 那么&#xff0c;我们顺着上面几个问题来解读源码。 3.1 XMLMapperBuilde…

人工智能、机器学习和生成式人工智能之间有什么区别?

文 | BFT机器人 在这个数字的智能时代&#xff0c;大家对人工智能、机器学习和生成式人工智能这些名词字眼很熟悉&#xff0c;有些人或许对它们还有一些了解&#xff0c;但是当他们一起出现的时候&#xff0c;大家能够区别它们是什么意思吗&#xff1f;今天小编将带你们详细解…

Ainx框架基础路由模块

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于Ainx系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列…

Vue 3, TypeScript 和 Element UI Plus:前端开发的高级技巧与最佳实践

Vue 3、TypeScript 和 Element UI Plus 结合使用时&#xff0c;可以提供一个强大且灵活的前端开发环境。以下是一些高级用法和技巧&#xff0c;帮助你更有效地使用这些技术&#xff1a; 1. Vue 3 高级特性 Composition API 使用 setup 函数: Vue 3 引入了 Composition API&am…

Linux内核队列queue.h

文章目录 一、简介二、SLIST单向无尾链表2.1 介绍2.2 操作2.3 例子 三、STAILQ单向有尾链表四、LIST双向无尾链表五、TAILQ双向有尾链表六、CIRCLEQ循环链表七、queue源码参考 一、简介 queue.h是一个非常经典的文件&#xff0c;定义了一系列宏的操作&#xff0c;它定义了一系…

MWC 2024丨美格智能推出5G RedCap系列FWA解决方案,开启5G轻量化新天地

2月27日&#xff0c;在MWC 2024世界移动通信大会上&#xff0c;美格智能正式推出5G RedCap系列FWA解决方案。此系列解决方案具有低功耗、低成本等优势&#xff0c;可以显著降低5G应用复杂度&#xff0c;快速实现5G网络接入&#xff0c;提升FWA部署的经济效益。 RedCap技术带来了…

leetcode 2.27

leetcode hot 100 哈希1.字母异位词分组2.最长连续序列 双指针1.盛最多水的容器2.和为 K 的子数组 数组1.除自身以外数组的乘积 哈希 1.字母异位词分组 49. 字母异位词分组 方法一&#xff1a;排序 由于互为字母异位词的两个字符串包含的字母相同&#xff0c;因此对两个字符…

Python入门到精通(九)——Python数据可视化

Python数据可视化 一、JSON数据格式 1、定义 2、python数据和JSON数据转换 二、pyecharts 三、折线图 四、地图 五、动态柱状图 一、JSON数据格式 1、定义 JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据JSON本质上是一个带有特定格式的字符…

vue项目从后端下载文件显示进度条或者loading

//API接口 export const exportDownload (params?: Object, peCallback?: Function) > {return new Promise((resolve, reject) > {axios({method: get,url: ,headers: {access_token: ${getToken()},},responseType: blob,params,onDownloadProgress: (pe) > {peC…

数据结构2月21日

双向链表: func函数&#xff1a; #include <stdio.h> #include <stdlib.h> …

数据分析-Pandas数据探查初步:离散点图

数据分析-Pandas数据探查初步&#xff1a;离散点图 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff…