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

综合能力实训 — 第三天笔记(下午)

综合能力实训 — 第三天笔记

下午:学生管理系统(需求、分析、设计、测试)

Student类

/*** 学生类 - 包含学号、姓名、年龄、成绩四个属性*/
public class Student {// 属性private String id;      // 学号private String name;    // 姓名private int age;        // 年龄private double score;   // 成绩// 无参构造器public Student() {}// 有参构造器public Student(String id, String name, int age, double score) {this.id = id;this.name = name;this.age = age;this.score = score;}// Getter和Setter方法public String getId() {return id;}public void setId(String 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 double getScore() {return score;}public void setScore(double score) {this.score = score;}// 重写toString方法,方便打印学生信息@Overridepublic String toString() {return "学号: " + id + ", 姓名: " + name + ", 年龄: " + age + ", 成绩: " + score;}
}

StudentManager类

import java.util.ArrayList;
import java.util.Scanner;/*** 学生管理系统 - 实现增删改查功能*/
public class StudentManager {// 使用ArrayList存储学生信息private ArrayList<Student> students = new ArrayList<>();private Scanner scanner = new Scanner(System.in);/*** 1. 添加学生*/public void addStudent() {System.out.println("\n===== 添加学生 =====");System.out.print("请输入学号: ");String id = scanner.next();// 检查学号是否已存在if (findStudentById(id) != null) {System.out.println("❌ 该学号已存在,添加失败!");return;}System.out.print("请输入姓名: ");String name = scanner.next();System.out.print("请输入年龄: ");int age = scanner.nextInt();System.out.print("请输入成绩: ");double score = scanner.nextDouble();// 创建学生对象并添加到集合Student student = new Student(id, name, age, score);students.add(student);System.out.println("✅ 学生添加成功!");}/*** 2. 根据学号删除学生*/public void deleteStudent() {System.out.println("\n===== 删除学生 =====");System.out.print("请输入要删除的学号: ");String id = scanner.next();Student student = findStudentById(id);if (student == null) {System.out.println("❌ 未找到该学号的学生!");return;}students.remove(student);System.out.println("✅ 学生删除成功!");}/*** 3. 根据学号修改学生信息*/public void updateStudent() {System.out.println("\n===== 修改学生信息 =====");System.out.print("请输入要修改的学号: ");String id = scanner.next();Student student = findStudentById(id);if (student == null) {System.out.println("❌ 未找到该学号的学生!");return;}System.out.println("当前信息: " + student);System.out.println("请选择要修改的项:");System.out.println("1. 姓名");System.out.println("2. 年龄");System.out.println("3. 成绩");System.out.println("4. 修改全部");System.out.print("请选择(1-4): ");int choice = scanner.nextInt();switch (choice) {case 1:System.out.print("请输入新姓名: ");student.setName(scanner.next());break;case 2:System.out.print("请输入新年龄: ");student.setAge(scanner.nextInt());break;case 3:System.out.print("请输入新成绩: ");student.setScore(scanner.nextDouble());break;case 4:System.out.print("请输入新姓名: ");student.setName(scanner.next());System.out.print("请输入新年龄: ");student.setAge(scanner.nextInt());System.out.print("请输入新成绩: ");student.setScore(scanner.nextDouble());break;default:System.out.println("❌ 选择无效!");return;}System.out.println("✅ 学生信息修改成功!");}/*** 4. 查询并打印所有学生*/public void queryAllStudents() {System.out.println("\n===== 所有学生信息 =====");if (students.isEmpty()) {System.out.println("暂无学生信息!");return;}System.out.println("----------------------------------------");for (Student student : students) {System.out.println(student);}System.out.println("----------------------------------------");System.out.println("共 " + students.size() + " 名学生");}/*** 辅助方法:根据学号查找学生*/private Student findStudentById(String id) {for (Student student : students) {if (student.getId().equals(id)) {return student;}}return null;}/*** 显示主菜单*/public void showMenu() {System.out.println("\n╔══════════════════════════════════════╗");System.out.println("║         学生管理系统 v1.0            ║");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("请选择操作(1-5): ");}/*** 运行系统*/public void run() {while (true) {showMenu();int choice = scanner.nextInt();switch (choice) {case 1:addStudent();break;case 2:deleteStudent();break;case 3:updateStudent();break;case 4:queryAllStudents();break;case 5:System.out.println("\n感谢使用,再见!");return;  // 退出循环default:System.out.println("\n❌ 无效选择,请重新输入!");}}}
}

StudentSystem类

public class StudentSystem {public static void main(String[] args) {// 创建管理器并运行StudentManager manager = new StudentManager();manager.run();}
}

image

http://www.jsqmd.com/news/949273/

相关文章:

  • AI工具如何3天重构清算引擎?揭秘头部券商已上线的7层智能清算协同架构
  • 高效AI教材写作攻略:利用低查重工具,1周完成30万字教材编写!
  • 从个人玩具到企业基础设施:MonkeyCode的AI编程实践指南
  • 2026年贵阳装修辅材源头工厂采购指南:门墙柜一体化定制如何选? - 企业名录优选推荐
  • 2026 宁波添价收主营奢包回收,多年口碑,污渍破损包包如实估价。 - 薛定谔的梨花猫
  • 终极免费桌面分区工具:如何用NoFences打造整洁高效的工作空间 [特殊字符]
  • 3步掌握磁力转换神器:让不稳定的磁力链接变身可靠的种子文件
  • 重庆钻石回收2026实地甄选,靠谱店铺避坑经验总结 - 奢侈品交易观察员
  • 2026佛山名表回收榜单,甄选头部,全品类享用行业高价 - 奢侈品回收测评
  • AI工具接入注册系统后,转化率提升37%但投诉激增210%?——智能注册的暗面平衡术(仅限技术负责人查阅)
  • ICode竞赛通关秘籍:用Python for循环搞定飞船和飞行器协同编程(附第2级训练场全代码)
  • CompressO:完全免费开源的视频压缩神器,3分钟将大文件缩小90%
  • 基于Node-RED与MySQL的物联网温湿度监测系统快速搭建指南
  • IPXWrapper技术实现指南:经典网络协议在现代Windows系统中的兼容层解决方案
  • 2026吉安市口碑好的广告公司推荐:店面招牌制作与政企宣传哪家好? - 品牌2026
  • 口碑“中规中矩”的PMP机构,到底值不值得报?四个指标筛出来 - 博客万
  • 2026北京黄金回收店推荐:正规靠谱商家指南与收的顶实测 - 奢侈品回收测评
  • GPT-4o多模态交互原理与媒体实战指南
  • 构建高可用分布式视频监控平台的容器化解决方案:wvp-GB28181-pro技术架构深度解析
  • 2026 聊城防水修缮指南|厨卫、屋顶、外墙漏水维修|苏易修缮全域上门 - 苏易修缮
  • 告别固定参数!在Simulink里用自适应VSG优化新能源并网稳定性(附MATLAB 2018b模型)
  • 隔爆型油冷式电动滚筒厂家口碑排行各品牌优劣一览:6个维度实拍 - 资讯纵览
  • 别再只盯着msi了!MySQL 8.0.36 ZIP版安装,从解压到Navicat连接,保姆级避坑指南
  • 从弹簧振子到电路网络:常系数线性微分方程组建模与求解实战
  • 上海实测揭秘!黄金回收6大排名,禹竞名奢汇稳居C位无套路 - 奢侈品交易观察员
  • 2026 济宁防水修缮指南:卫生间、阳台、屋顶漏水维修,选苏易修缮不踩坑 - 苏易修缮
  • 手把手教你用Python+win32com批量处理Excel合并单元格,告别手动调整的烦恼
  • 别死记硬背!从ICode Python 2级训练场看for循环的3种实战模式:递减步长、索引联动与条件模拟
  • 别再乱传IS_VARIANT了!手把手教你用REUSE_ALV_VARIANT_DEFAULT_GET函数智能获取默认布局
  • 从树莓派到Jetson Nano:手把手教你移植OV5647 CSI摄像头驱动(附完整调试记录)