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

免费素材网站 可商用大二网页设计作业成品

免费素材网站 可商用,大二网页设计作业成品,网站建设如何账务处理,吴江区经济开发区规建设局网站文章目录 1. 项目需求分析2. 项目设计3. 代码分析4. 运行示例5. 今日学习总结6. 今日生词 今日学习计划 1. 项目需求分析 功能要求: (1)存储学生信息: 使用 HashMap 存储学生信息(学号作为键,Student 对象作为值)。 …

文章目录

  • 1. 项目需求分析
  • 2. 项目设计
  • 3. 代码分析
  • 4. 运行示例
  • 5. 今日学习总结
  • 6. 今日生词

今日学习计划
在这里插入图片描述

1. 项目需求分析

功能要求:
(1)存储学生信息:

  • 使用 HashMap 存储学生信息(学号作为键,Student 对象作为值)。
    (2)操作学生数据:
  • 添加学生(姓名、学号、成绩)。
  • 删除学生(按学号删除)。
  • 查询学生(按学号查询)。
  • 显示所有学生信息。
    (3)异常处理:
  • 防止重复添加(如果学号已存在,抛出异常)。
  • 查询/删除不存在的学号(抛出异常)。
  • 输入格式错误(如非数字学号,捕获 NumberFormatException)。
  • 无效成绩范围(自定义异常 InvalidScoreException)。

2. 项目设计

(1) 学生类(Student)
包含:学号、姓名、成绩,并提供构造方法和 toString() 便于显示。

class Student {private String id;private String name;private int score;public Student(String id, String name, int score) {this.id = id;this.name = name;this.score = score;}public String getId() { return id; }public String getName() { return name; }public int getScore() { return score; }@Overridepublic String toString() {return "学号:" + id + ", 姓名:" + name + ", 成绩:" + score;}
}

(2) 自定义异常类(InvalidScoreException)
当成绩不在 0~100 之间时抛出异常

class InvalidScoreException extends Exception {public InvalidScoreException(String message) {super(message);}
}

(3) 学生管理类(StudentManager)
使用 HashMap<String, Student> 存储学生数据。
提供增删查改方法,加入异常处理。

import java.util.HashMap;
import java.util.Scanner;class StudentManager {private HashMap<String, Student> studentMap = new HashMap<>();// 添加学生public void addStudent(String id, String name, int score) throws InvalidScoreException {if (studentMap.containsKey(id)) {throw new IllegalArgumentException("学号 " + id + " 已存在!");}if (score < 0 || score > 100) {throw new InvalidScoreException("成绩必须在 0 到 100 之间!");}studentMap.put(id, new Student(id, name, score));System.out.println("学生添加成功!");}// 删除学生public void removeStudent(String id) {if (!studentMap.containsKey(id)) {throw new IllegalArgumentException("学号 " + id + " 不存在!");}studentMap.remove(id);System.out.println("学生删除成功!");}// 查询学生public void searchStudent(String id) {if (!studentMap.containsKey(id)) {throw new IllegalArgumentException("学号 " + id + " 不存在!");}System.out.println(studentMap.get(id));}// 显示所有学生public void displayAllStudents() {if (studentMap.isEmpty()) {System.out.println("当前没有学生数据!");} else {studentMap.values().forEach(System.out::println);}}
}

(4) 交互逻辑(主类 Main)
提供菜单交互。
异常处理,防止用户输入错误。

import java.util.Scanner;public class Main {public static void main(String[] args) {StudentManager manager = new StudentManager();Scanner scanner = new Scanner(System.in);while (true) {System.out.println("\n=== 学生信息管理系统 ===");System.out.println("1. 添加学生");System.out.println("2. 删除学生");System.out.println("3. 查询学生");System.out.println("4. 显示所有学生");System.out.println("5. 退出");System.out.print("请选择操作: ");try {int choice = Integer.parseInt(scanner.nextLine());switch (choice) {case 1:System.out.print("输入学号: ");String id = scanner.nextLine();System.out.print("输入姓名: ");String name = scanner.nextLine();System.out.print("输入成绩: ");int score = Integer.parseInt(scanner.nextLine());manager.addStudent(id, name, score);break;case 2:System.out.print("输入要删除的学号: ");manager.removeStudent(scanner.nextLine());break;case 3:System.out.print("输入要查询的学号: ");manager.searchStudent(scanner.nextLine());break;case 4:manager.displayAllStudents();break;case 5:System.out.println("程序退出!");return;default:System.out.println("无效输入,请重新选择!");}} catch (NumberFormatException e) {System.out.println("输入格式错误,请输入正确的数字!");} catch (InvalidScoreException e) {System.out.println("错误:" + e.getMessage());} catch (IllegalArgumentException e) {System.out.println("错误:" + e.getMessage());}}}
}

3. 代码分析

功能关键实现异常处理
存储学生信息HashMap<String, Student>-
添加学生addStudent()1. 学号重复 → IllegalArgumentException 2. 成绩范围错误 → InvalidScoreException
删除学生removeStudent()学号不存在 → IllegalArgumentException
查询学生searchStudent()学号不存在 → IllegalArgumentException
防止输入错误try-catch 捕获 NumberFormatException-

4. 运行示例

=== 学生信息管理系统 ===
1. 添加学生
2. 删除学生
3. 查询学生
4. 显示所有学生
5. 退出
请选择操作: 1
输入学号: 1001
输入姓名: 张三
输入成绩: 105
错误:成绩必须在 0 到 100 之间!请选择操作: 1
输入学号: 1001
输入姓名: 张三
输入成绩: 90
学生添加成功!请选择操作: 3
输入要查询的学号: 1001
学号:1001, 姓名:张三, 成绩:90请选择操作: 2
输入要删除的学号: 1002
错误:学号 1002 不存在!

5. 今日学习总结

  • 集合框架

    • 使用 HashMap<String, Student> 存储学生信息。
    • (List 和 Set 可用于扩展功能(如 ArrayList 存储多个成绩)。
  • 异常处理

    • 输入异常:NumberFormatException(防止用户输入非数字)。
    • 自定义异常:InvalidScoreException(确保成绩合法)。
    • 逻辑异常:IllegalArgumentException(防止重复或无效学号)。
  • 面向对象设计

    • Student 类 代表学生信息。
    • StudentManager 类 负责学生数据管理。

6. 今日生词

1.advanced 2.decisions 3.snippet 4.hesitating 5.lightspeed

http://www.dtcms.com/wzjs/9310.html

相关文章:

  • 微网站的搭建备案查询平台官网
  • xp做的网站有连接限制seo博客推广
  • 12306网站为什么做不好使开网站怎么开
  • 湖南企业网站制作公司免费html网站制作成品
  • 青海和城乡建设厅网站网站seo推广员招聘
  • 制作网站的收入来源于哪里江苏网站建设制作
  • vue 做pc网站百度快照客服电话
  • 网站在线考试答题系统怎么做深圳竞价排名网络推广
  • 如何找人帮我做网站推广全媒体广告代理加盟靠谱吗
  • 哪有app制作公司网站首页关键词如何优化
  • 中国建设银行新疆分行网站windows优化软件排行
  • wordpress网站代码快速排名软件案例
  • 网站建设合肥公司长沙seo网站优化
  • 企业网站建设选题依据企业网站定制开发
  • 建行网址逆冬黑帽seo培训
  • 鲜花礼品店网站建设策划书湖南做网站的公司
  • 评论回复网站怎么做的西安专业seo
  • 洛宁县东宋乡城乡建设局网站微信seo是什么意思
  • 网站建设课程bt推广公司有哪些公司
  • 做妓的网站怎么做一个小程序
  • 厚街网站建设广告优化师培训
  • 做电影网站赚钱的方法网络广告营销的典型案例
  • 手机 网站 开发福州百度推广排名优化
  • dw网站建设的心得体会百度seo排名规则
  • 深圳 网站建设seo入门教程seo入门
  • 钦州建设银行社招聘网站一天赚2000加微信
  • 团购网站 方案seo成功案例分析
  • 护肤品网站制作 网新科技做个公司网站一般需要多少钱
  • ps做网站页面企业网站推广策划
  • 泊头网站制作上海seo搜索优化