当前位置: 首页 > 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.rkmt.cn/news/1460799.html

相关文章:

  • 2026年贵阳装修辅材源头工厂采购指南:门墙柜一体化定制如何选? - 企业名录优选推荐
  • 高效AI教材写作攻略:利用低查重工具,1周完成30万字教材编写!
  • 2026佛山名表回收榜单,甄选头部,全品类享用行业高价 - 奢侈品回收测评
  • AI工具接入注册系统后,转化率提升37%但投诉激增210%?——智能注册的暗面平衡术(仅限技术负责人查阅)
  • 基于Node-RED与MySQL的物联网温湿度监测系统快速搭建指南
  • 构建高可用分布式视频监控平台的容器化解决方案:wvp-GB28181-pro技术架构深度解析
  • 告别固定参数!在Simulink里用自适应VSG优化新能源并网稳定性(附MATLAB 2018b模型)
  • 从弹簧振子到电路网络:常系数线性微分方程组建模与求解实战
  • 我根据您的详细要求,将内容改写成教程/指南类自媒体文章。 - 软件小管家
  • 基于XBee3与Arduino的RSSI无线测距方案:从原理到实践
  • 别再死记硬背公式了!用Python的SymPy库5分钟搞定常系数微分方程组
  • 深入AXI4协议:从BRAM Controller的读时序看如何榨干FPGA片上存储带宽
  • 保姆级教程:在华为交换机上创建、查询并管理IP地址池(DHCP Server配置)
  • 如何轻松实现Windows和Office永久激活:KMS智能激活工具终极指南
  • 年省超60万:全自动啤酒桶清洗灌装线厂家案例 - 资讯纵览
  • 继电器节能电路设计:RC延时实现吸合与保持电流自动切换
  • 手工打造银质RFID智能戒指:融合珠宝工艺与Arduino编程的跨界实践
  • 毕业设计直接可用的6类手势识别数据集:自拍图像+YOLOv5兼容的XML与TXT双格式标签
  • 告别内核态瓶颈:手把手教你用FD.io VPP在Ubuntu 22.04上搭建高性能用户态网络栈
  • 终极指南:5分钟上手开源免费的中国象棋AI助手Vin象棋
  • 深度解析Akamai Bot Manager:它是如何识别爬虫的
  • 2026贵阳周末近郊游去哪儿?性价比烧烤山庄+亲子户外一站式体验对标指南 - 精选优质企业推荐官
  • 基于树莓派与MQ-7传感器构建物联网一氧化碳监测报警系统
  • Raylib终极指南:快速掌握跨平台游戏开发核心功能
  • 基于REFIT数据的家庭用电负荷TCN预测工程:支持6–384步多窗口训练与完整结果可视化
  • Kubernetes 服务发现与负载均衡:深入设计 K8s Service 网络拓扑与流量隔离策略
  • ROS参数服务器实战:从命令行到C++/Python代码,手把手教你玩转param配置
  • 用Matlab复现普朗克黑体辐射定律:从公式到可视化曲线的保姆级教程
  • AI写作辅助平台的实战手册:如何界定“合理使用”与学术不端?
  • Linux下轻量级RTCM3流实时转RINEX的C语言命令行工具(含编译说明与示例)