世界观热点:【完结篇】Java基础入门(集合版)
Java基础入门(完结篇)
(资料图片仅供参考)
1.简易的学生管理系统-集合版1.1 需求描述1.2 思路1.3 定义Student类1.4 编写主界面1.5 编写添加学生方法1.6 编写查询所有学员的方法1.7 编写修改学员的方法1.8 编写删除学生的方法
1.简易的学生管理系统-集合版
1.1 需求描述
实现一个简易的学生管理系统,包含主菜单,增加学生,修改学生,删除学生,查看所有学生和退出功能:
主菜单: 添加学生: 查询所有: 修改学生:
删除学生:
1.2 思路
1.定义实体类—Student类2.实现主菜单的循环显示3.实现添加方法4.实现查询方法5.实现修改方法6.实现删除方法
1.3 定义Student类
/* 1.定义一个Student学生类(属性:编号,姓名,年龄,性别) */public class Student {//编号 private int id; //姓名 private String name; //年龄 private int age; //性别 private String sex; public Student() {} public Student(int id, String name, int age, String sex) {this.id = id; this.name = name; this.age = age; this.sex = sex; } public int getId() {return id; } public void setId(int id) {this.id = id; } public String getName() {return name; } public void setName(String name) {this.name = name; } public int getAge() {return age; } public void setAge(int age) {this.age = age; } public String getSex() {return sex; } public void setSex(String sex) {this.sex = sex; }}
1.4 编写主界面
1.定义一个Student学生类(属性:编号,姓名,年龄,性别)2.定义一个存储Student对象的ArrayList集合3.定义一个Scanner对象4.定义一个死循环,让功能重复执行5.在死循环中打印功能菜单6.获取用户输入的功能选项7.根据用户输入的功能选项,选择对应的功能(switch语句)
public static void main(String[] args) {//2.定义一个存储Student对象的ArrayList集合 ArrayListlist = new ArrayList<>(); //3.定义一个Scanner对象 Scanner sc = new Scanner(System.in); //4.定义一个死循环,让功能重复执行 while (true){//5.在死循环中打印功能菜单 System.out.println("******************************************************"); System.out.println(" 欢迎使用学员管理系统 "); System.out.println("-------------------------------------------------------"); System.out.println("1.添加 2.修改 3.删除 4.查询所有 5.退出"); System.out.println("-------------------------------------------------------"); System.out.println("请选择您要执行的功能:"); //6.获取用户输入的功能选项 int choose = sc.nextInt(); //7.根据用户输入的功能选项,选择对应的功能(switch语句) switch (choose){case 1: //1.添加学员 addStudent(list,sc); break; case 2: //2.修改学员 updateStudent(list,sc); break; case 3: //3.删除学员 deleteStudent(list,sc); break; case 4: //4.查询所有学员 selectAllStudent(list); break; case 5: //5.退出 System.out.println("欢迎下次使用,再见!"); System.exit(0);//终止当前正在执行的java虚拟机 default: System.out.println("您输入的功能选项不存在,请重新输入!"); break; } } }
1.5 编写添加学生方法
1.获取用户输入的学员信息(姓名,年龄,性别)
2.判断集合的长度是否为0;
是0:则添加的学员为第一个,编号为1 不是0:获取最后一个学员的编号,把编号+1,作为新学员的编号
3.创建Student对象,封装学员信息
4.把Student对象添加到集合中
5.提示"【成功】数据已经被保存!"
方法的参数:
ArrayListlist:执行增删改查的集合对象 Scanner sc:获取用输入的数据(不用在每个方法中都创建一个Scanner对象)
public static void addStudent(ArrayListlist, Scanner sc) {System.out.println("---------------------------欢迎使用添加学员的方法----------------------------"); //1.获取用户输入的学员信息(姓名,年龄,性别) System.out.println("请输入学员的信息"); System.out.println("姓名:"); String name = sc.next(); System.out.println("年龄:"); int age = sc.nextInt(); System.out.println("性别:"); String sex = sc.next(); //2.判断集合的长度是否为0; int id; if(list.size()==0){//是0:则添加的学员为第一个,编号为1 id = 1; }else{//不是0:获取最后一个学员的编号,把编号+1,作为新学员的编号 id = list.get(list.size()-1).getId()+1; } //3.创建Student对象,封装学员信息 Student stu = new Student(id,name,age,sex); //4.把Student对象添加到集合中 list.add(stu); //5.提示"【成功】数据已经被保存!" System.out.println("【成功】数据已经被保存!");}
1.6 编写查询所有学员的方法
1.对集合的长度进行判断 长度是0:提示"【暂无学员信息,请添加后再尝试】" 长度不是0:遍历存储学员的ArrayList集合,获取每一个Student对象,打印Student对象的属性值
public static void selectAllStudent(ArrayListlist) {System.out.println("-------------------------欢迎使用查询所有学员的方法--------------------------"); //1.对集合的长度进行判断 if(list.size()==0){//长度是0:提示"【暂无学员信息,请添加后在尝试】" System.out.println("【暂无学员信息,请添加后在尝试】"); }else{//长度不是0:遍历存储学员的ArrayList集合,获取每一个Student对象,打印Student对象的属性值 System.out.println("编号\t姓名\t年龄\t性别"); for (int i = 0; i < list.size(); i++) {Student s = list.get(i); System.out.println(s.getId()+"\t\t"+s.getName()+"\t"+s.getAge()+"\t\t"+s.getSex()); } } System.out.println("------------------------------------------------------------------------------");}
1.7 编写修改学员的方法
1.获取用户输入的要修改的学员id2.遍历集合获取每一个学员Student对象3.使用用输入的id和遍历得到的id进行比较4.id相同,有要修改的学员,打印学员信息5.获取用输入的新的学员信息(姓名,年龄,性别[保留原值输入0])6.判断用户输入的是否为0,不是0,替换学员的信息7.提示用户【成功】数据已经被修改!8.结束修改学员的方法 return; (return后边什么都不写,作用就是结束方法)9.遍历结束了,还没有找到对应的学员,提示错误信息"【错误】id是"+id+“的学员没找到!”
public static void updateStudent(ArrayListlist, Scanner sc) {System.out.println("---------------------------欢迎使用修改学员的方法----------------------------"); //1.获取用户输入的要修改的学员id System.out.println("请输入要修改的学员id:"); int id = sc.nextInt(); //2.遍历集合获取每一个学员Student对象 for (int i = 0; i < list.size(); i++) {Student s = list.get(i); //3.使用用输入的id和遍历得到的id进行比较 if(id==s.getId()){//4.id相同,有要修改的学员,打印学员信息 System.out.println("您要修改的学员信息为:"); System.out.println(s.getId()+"\t\t"+s.getName()+"\t"+s.getAge()+"\t\t"+s.getSex()); //5.获取用输入的新的学员信息(姓名,年龄,性别[保留原值输入0]) System.out.println("请输入新的学员信息[保留原值输入0]:"); System.out.println("姓名:"); String name = sc.next(); System.out.println("年龄:"); int age = sc.nextInt(); System.out.println("性别:"); String sex = sc.next(); //6.判断用户输入的是否为0,不是0,替换学员的信息 if(!"0".equals(name)){s.setName(name); } if(age!=0){s.setAge(age); } if(!"0".equals(sex)){s.setSex(sex); } //7.提示用户【成功】数据已经被修改! System.out.println("【成功】数据已经被修改!"); //8.结束修改学员的方法 return; return; } } //9.遍历结束了,还没有找到对应的学员,提示错误信息"【错误】id是"+id+"的学员没找到!" System.out.println("【错误】id是"+id+"的学员没找到!");}
1.8 编写删除学生的方法
1.获取用户输入的要删除的学员id2.遍历集合获取每一个学员Student对象3.使用用输入的id和遍历得到的id进行比较4.id相同,有要删除的学员,打印学员信息5.输出"您确定要删除这条记录吗?(y|n)"6.获取用户输入的y或者n7.判断用户输入的是y:删除学员,提示"【成功】数据已经被删除" reutrn 用户输入的不是y: 提示:"【取消】操作被取消" 取消删除操作 return8.遍历结束了,还没有找到对应的学员,提示错误信息"【错误】id是"+id+“的学员没找到!”
private static void deleteStudent(ArrayListlist, Scanner sc) {System.out.println("---------------------------欢迎使用删除学员的方法----------------------------"); //1.获取用户输入的要删除的学员id System.out.println("请输入您要删除学员的id:"); int id = sc.nextInt(); //2.遍历集合获取每一个学员Student对象 for (int i = 0; i < list.size(); i++) {Student s = list.get(i); //3.使用用输入的id和遍历得到的id进行比较 if(id==s.getId()){//4.id相同,有要删除的学员,打印学员信息 System.out.println("您要删除的学员信息为:"); System.out.println(s.getId()+"\t\t"+s.getName()+"\t"+s.getAge()+"\t\t"+s.getSex()); //5.输出"您确定要删除这条记录吗?(y|n)" System.out.println("您确定要删除这条记录吗?(y|n)"); //6.获取用户输入的y或者n String yAndN = sc.next(); //7.判断用户输入的是y:删除学员,提示"【成功】数据已经被删除" reutrn if("y".equalsIgnoreCase(yAndN)){//list.remove(s);//根据对象删除 list.remove(i);//根据索引删除 System.out.println("【成功】数据已经被删除"); return;//结束方法 }else{//用户输入的不是y: 提示:"【取消】操作被取消" 取消删除操作 return System.out.println("【取消】操作被取消"); return;//结束方法 } } } //8.遍历结束了,还没有找到对应的学员,提示错误信息"【错误】id是"+id+"的学员没找到!" System.out.println("【错误】id是"+id+"的学员没找到!");}
至此简易的学生管理系统就做完了,Java初级入门的学习也告一段落。
希望整理的东西能对大家有所帮助,未来一起进步! 我们Java进阶再见!
标签:
相关推荐:
最新新闻:
- 联想A60怎样刷机?联想A60刷机方法介绍:焦点关注
- 家用空气净化器哪个牌子好?除雾霾效果好的品牌有哪些?_天天观热点
- 世界今热点:新手如何建立网站?网站建设的主要流程是什么?
- CAB软件安装不成功的原因有哪些?手机软件游戏安装方法:天天速读
- pdf如何在线编辑和修改?具体方法步骤
- 如何自学编程?自学编程的方法技巧
- 【世界新要闻】java下载web文件有哪些方法?java如何下载web文件?
- 千元平板电脑有什么推荐?千元平板电脑排行榜 环球观焦点
- 单卡手机怎么变双卡双待?单卡手机变双卡双待的方法流程_世界热议
- ipad越狱后怎么还原?ipad越狱之后恢复教程-环球快报
- 安装MAC系统必备工具 关于安装MAC系统的3种变色龙
- 什么是微信公众平台?微信公众平台接口开发指南_今日要闻
- 4月美服PS+二三档游戏大小总结:《毁灭战士永恒》PS5约84GB
- 微信公众号助力活动怎么做?制作教程来啦 世界短讯
- 世界观热点:【完结篇】Java基础入门(集合版)
- 如何正确压缩视频文件?视频文件压缩成MP4格式的方法
- 模拟经营类游戏《萌宠大赢家》将于5月23日上线! 当前焦点
- 制度范文集锦--地产融资管理作业指引
- 世界今热点:《饥饿派画家》登陆移动端 4月28日正式发售
- 博主探店刷流量勒索钱财现象多发 给钱就夸不给钱就抹黑-当前简讯
- 《塞尔达传说:王国之泪》大量周边情报公布 会发光的大师之剑
- 鸿蒙3家族再度壮大:24款新机型加入:环球快报
- 苹果 iPhone 15 Pro再曝光:音量双按键设计,静音拨片改为Action按钮
- 4799元起!七彩虹RTX 4070显卡开售_每日热闻
- 小米13 Ultra影像大升级:环球观察
- 1999元!OPPO A1开售:120Hz高刷高亮屏+12GB大运存-全球快播
- 财鑫闻丨A股一季报行情已展开,54股预计一季报净利翻倍,机构聚焦三条主线
- legacy和uefi什么区别?legacyBIOS开机引导过程是什么?
- 淘宝店铺旺旺交易量怎么查询?淘宝交易额查询方法
- 电脑QQ浏览器临时文件夹在哪里?如何修改缓存?
- 决策天机手机版有什么用?决策天机应用功能及使用方法
- win10删除Thumbsdb文件的方法是什么?如何删除微软账户?
- warmh基于魔兽有什么用?warmh使用说明
- 浓浓跨界范儿 别克Electra E4申报图曝光
- 《地平线:西之绝境》DLC战斗实机公布!埃洛伊暴打机械兽! 世界热讯
- 京东组织架构调整!2023刘强东回归三把火:低价、“平权”与Big Boss:今热点
- 3岁以下孩子不宜吃蛋白粉-环球观天下
- 《最终幻想16》25分钟实机公布:少年克莱夫登场 BOSS战超酷! 当前资讯
- mrs什么意思中文意思_mrs什么意思
- 掌机有福了!微软试验在Win11中添加“手持模式”
- 4月18日发布!小米Pad 6系列平板电脑官宣:号称“超强势生产力工具”-天天速看
- 新款特斯拉Model 3实车首曝:不到20万:每日动态
- 全球视讯!飞利浦新LED灯泡再节能40%
- 当前资讯!JBL蓝牙动圈降噪耳机309元
- 魔法射击系游戏《不朽者传奇》公布 7月20日发行
- 摩托竞速游戏《极速骑行5》公布 截图和预告片分享
- 世界球精选!育碧免费多人射击《不羁联盟》现已开启封闭测试
- 《暗黑4》首次通关后 其他角色可跳过战役|全球今热点
- 天天热门:ROG Phone7游戏手机IGN 6分:跟其他手机有啥区别?
- Fami通新一周销量榜 《生化危机4:重制版》继续第二
- Epic喜+2:《雷霆一击》以及《二次灭绝》
- 环球资讯:首款国潮电竞显卡发布:国产自研GPU 可畅玩Win10游戏
- 马斯克称收购推特非自愿:是董事会“拿枪逼我”|动态焦点
- 大疆正式发布8K空中电影机Inspire 3:今日热门
- 气势凌人! 映众INNO3D RTX4070曜夜4799元上市
- 霸”7“登场 华硕RTX4070显卡尽显实力
- 当前视讯!《2077》官方分享路径光追对比图:光线效果更加真实
- 《最后生还者》Steam好评终过半 但玩家反馈体验仍稀烂:热点在线
- 《卧龙》参加Steam东方游戏文化周,体验版限时回归!
- 打造“世界显示之都”,广州为什么行?
- 数毛社编辑评《红霞岛》仅30帧:请先把优化做好!
- 网民不建议徐峥作为综艺嘉宾 浙江广电回应:其未被定性为劣迹艺人|全球热议
- 英伟达RTX Remix现已开放下载 轻松为老游戏加入RTX功能
- 环球观察:小米12s Ultra清仓4999 卖完停产
- 松下LUMIX S5M2获得最佳全画幅专业相机奖项|世界实时
- 天天关注:教育部最新公示!江西158门课程入选!
- 新动态:实用又环保!Xbox Remix手柄开箱图赏
- 近期打车去拉萨订单暴涨 滴滴呼吁大家理性下单-世界报资讯
- 《LOL》皮肤半价即将开启:抽奖返点券 最高可免单!
- 浪潮 KaiwuDB :用"快人一步"的数据库拥抱物联网时代:全球最新
- 天天热文:关晓彤晒华为nova 11 下周17日发布
- 徕卡CEO体验小米13 Ultra:满分!_环球今头条
- 华为nova 11手机上架:17日发布后开售
- 小米13 Ultra跑分公布 提升较大_环球头条
- ST林重:预计2023年一季度净利润为2100万元~3000万元 同比增长1438.24%~2097.48%