学生管理系统初级

根据题目要求生成大纲

总结:

1.在书写时,考虑到了书写时id可是是abc... 类型是String,但在根据id获取集合中元素时 list.get() ,get()里面是int类型。 2.在书写还有一点功能并不完全,

2.1查找时是打印所有学生信息,并不能根据输入关键信息打印相应学生

2.2修改时,是所有信息都要修改,并没有实现,只修改某一个或几个信息。

代码:

public class Studenttext {public static void main(String[] args) {ArrayList<Student> list=new ArrayList<>();Scanner sc=new Scanner(System.in);int number;boolean flag=true;while (flag) {System.out.println("请选择你要的功能:1.添加,2.删除,3.修改,4.查找,5.退出");number=sc.nextInt();switch (number){case 1 -> add(list);case 2->delete(list);case 3->adapt(list);case 4-> reaserach(list);default -> flag=false;}}}//添加public static void  add( ArrayList<Student> list){Scanner sc=new Scanner(System.in);Student s=new Student();System.out.println("请输入学生id");String sid=sc.next();boolean result = contains(list, sid);if (result) {System.out.println("该id已经存在");}s.setId(sid);System.out.println("请输入学生姓名");String name=sc.next();s.setName(name);System.out.println("请输入学生年龄");int age=sc.nextInt();s.setage(age);System.out.println("请输入学生家庭住址");String adress=sc.next();s.setAdress(adress);list.add(s);System.out.println("已经添加成功");//进行id唯一}//删除public static void  delete( ArrayList<Student> list){Scanner sc=new Scanner(System.in);System.out.println("请输入要删除的id");String sid=sc.next();int id=getindex(list,sid);if (id>=0) {//true就存在list.remove(id);System.out.println(list.size());System.out.println("删除成功");}else {//不存在System.out.println("id不存在");}}//修改public static void  adapt( ArrayList<Student> list){Scanner sc=new Scanner(System.in);System.out.println("请输入要修改的id");String id=sc.next();int index=getindex(list,id);if (index>=0) {Student s=list.get(index);System.out.println("请输入新的名字");String Newname=sc.next();s.setName(Newname);System.out.println("请输入新的年龄");int Newage=sc.nextInt();s.setage(Newage);System.out.println("请输入新的家庭住址");String Newadress=sc.next();s.setAdress(Newadress);System.out.println("修改成功");}else {System.out.println(id+"不存在 ,更新失败");}}//查找public static void  reaserach( ArrayList<Student> list){if (list.size()!=0) {//返回true就代表存在System.out.println("---------代军的学生管理系统------------");System.out.println("id\tname\tage\tadress");for (int i = 0; i < list.size(); i++) {Student s = list.get(i);System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getage()+"\t"+s.getAdress());}}else {//如果不存在,提示当前无学生信息,请添加后在查询System.out.println("当前无学生信息,请添加后在查询");}}//进行id唯一,不存在返回flasepublic static boolean contains(ArrayList<Student> list,String id){return getindex(list,id)>=0;}//查找id的学生,根据id查找//不存在返回-1public static int  getindex(ArrayList<Student> list,String id){for (int i = 0; i < list.size(); i++) {String sut_id=list.get(i).getId();//存在就返回trueif (sut_id.equals(id)) {return i;}}return -1;}}

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

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

相关文章

Open CASCADE学习|三重正交标架法则

三重正交标架&#xff08;Trihedron&#xff09; 定义:三重正交标架是在三维空间中定义的一个坐标系&#xff0c;由三个互相垂直的向量构成。这些向量分别是&#xff1a; 切线向量&#xff08;Tangent Vector&#xff09; - 表示曲线在某一特定点处的切线方向。 主法线向量&…

代码随想录算法训练营第十三天:树的认知(补五一)

代码随想录算法训练营第十三天&#xff1a;树的认知&#xff08;补五一&#xff09; ‍ 二叉树的递归遍历 #算法公开课 《代码随想录》算法视频公开课 ****(opens new window)****​ &#xff1a;​每次写递归都要靠直觉&#xff1f; 这次带你学透二叉树的递归遍历&#xf…

cmake进阶:文件操作之写文件

一. 简介 cmake 提供了 file() 命令可对文件进行一系列操作&#xff0c;譬如读写文件、删除文件、文件重命名、拷贝文件、创建目录等等。 接下来 学习这个功能强大的 file() 命令。 本文学习 CMakeLists.txt语法中写文件操作。 二. cmake进阶&#xff1a;文件操作之写文件…

基于家政小程序的个性化家政服务研究

基于家政小程序的个性化家政服务研究&#xff0c;是近年来随着移动互联网技术的快速发展和人们生活品质的提高而兴起的一个热门话题。以下是对该领域的研究探讨&#xff1a; 一、引言 随着现代生活节奏的加快&#xff0c;家政服务已成为越来越多家庭不可或缺的一部分。然而&a…

​​【收录 Hello 算法】3.3 数字编码

目录 3.3 数字编码 3.3.1 原码、反码和补码 3.3.2 浮点数编码 3.3 数字编码 Tip 在本书中&#xff0c;标题带有 * 符号的是选读章节。如果你时间有限或感到理解困难&#xff0c;可以先跳过&#xff0c;等学完必读章节后再单独攻克。 3.3.1 原码、反码和补码 在…

BetterMouse for Mac激活版:鼠标增强软件

BetterMouse for Mac是一款鼠标增强软件&#xff0c;旨在取代笨重的、侵入性的和耗费资源的鼠标驱动程序&#xff0c;如罗技选项。它功能丰富&#xff0c;重量轻&#xff0c;效率优化&#xff0c;而且完全隐私安全&#xff0c;试图满足你在MacOS上使用第三方鼠标的所有需求。 B…

Dell EMC Storage Unity: Remove/Install Memory Module

SP A 一个内存故障 点击system view -> Enclosures->Top查看 再次查看Alert&#xff0c; 确认内存出现问题 进入Service &#xff0c; 将SP A置为service状态 移出SP A &#xff0c;进行内存更换 更换完内存后&#xff0c;将SP A插入设备&#xff0c;并进行线缆连接 进入…

视频素材哪个软件好用?8个短视频素材高清无水印

在今日这个视觉表现至关重要的时代&#xff0c;获取合适的视频素材成为制作任何类型视频内容的基石。从企业宣传片到社交媒体短视频&#xff0c;高质量的视频素材能够显著提升内容的吸引力和专业度。这里列出了一些全球顶尖的视频素材平台&#xff0c;每一个都能为您的视频项目…

微信小程序miniprogram_npm目录主包太大如何处理

在使用TDesign开发小程序&#xff0c;miniprogram_npm目录下很多组件&#xff0c;感觉很多组件我都没引用&#xff0c;为什么都在主包来&#xff0c;导致主包很大。如何优化&#xff1f; 在使用npm构建后生成的miniprogram_npm目录里&#xff0c;有所有TDesign组件。但是有很…

低功耗UPF设计的经典案列分享

案例1 分享个例子&#xff0c;景芯A72低功耗设计&#xff0c;DBG domain的isolation为何用VDDS_maia_noncpu供电而不是TOP的VDD&#xff1f; 答&#xff1a;因为dbg的上一级是noncpu&#xff0c;noncpu下面分成dbg和两个tbnk。 案例2 景芯A72的低功耗&#xff0c;请问&#…

利用爬虫解决数据采集难题

在现代信息时代&#xff0c;数据是企业决策和发展的关键。然而&#xff0c;许多有用的数据分散在网络上&#xff0c;且以各种格式和结构存在&#xff0c;因此&#xff0c;利用爬虫技术来采集数据成为了一项重要任务。本文将介绍如何使用 Python 编写一个简单的网络爬虫&#xf…

PSoc™62开发板之IoT应用

实验目的 使用PSoc62™开发板驱动OLED模块&#xff0c;实时监控室内的光照强度、温度信息 实验准备 PSoc62™开发板SSD1309 OLED模块DS18B20温度传感器BH1750光照传感器 模块电路 SSD1309 OLED模块的电路连接和模块配置教程请参考之前的文章&#xff0c;这里不详细展开描…