2026/5/21 22:07:02
网站建设
项目流程
备案期间关网站吗,正规淘宝店铺交易平台,需要做网站建设和推广的行业,dw响应式网站模板项目概述这是一个完整的Java控制台应用程序#xff0c;实现了电影管理系统的基本功能。系统允许用户对电影进行增删改查操作#xff0c;并支持按明星封杀的特殊功能。项目采用了面向对象的设计思想#xff0c;结构清晰#xff0c;适合Java初学者学习和参考。项目结构MovieS…项目概述这是一个完整的Java控制台应用程序实现了电影管理系统的基本功能。系统允许用户对电影进行增删改查操作并支持按明星封杀的特殊功能。项目采用了面向对象的设计思想结构清晰适合Java初学者学习和参考。项目结构MovieSystem/ ├── Movie.java # 电影实体类 ├── MovieService.java # 电影业务服务类主逻辑 └── Test.java # 程序入口类详细代码解析1. Movie.java - 电影实体类import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; Data AllArgsConstructor NoArgsConstructor public class Movie { // 电影系统搭建 private String name; // 电影名称 private double score; // 电影评分 private String actor; // 电影主演 private double price; // 电影价格 }核心特性使用Lombok注解简化代码Data自动生成getter/setter、toString等方法AllArgsConstructor生成全参数构造函数NoArgsConstructor生成无参数构造函数包含电影的四个基本属性2. MovieService.java - 业务逻辑类类定义与初始化public class MovieService { //准备一个集合容器存储全部上架的电影数据 private static ListMovie moviesnew ArrayList(); private static Scanner scnew Scanner(System.in); public void start() { // 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(6.退出系统); while(true){ System.out.println(请输入您的选择); String choice sc.next(); switch (choice) { case 1: System.out.println(上架电影); //独立成方法 addMovie(); break; case 2: System.out.println(下架电影); removeMovie(); break; case 3: System.out.println(查询电影); quaryMovie(); break; case 4: System.out.println(封杀某个明星); banStar(); break; case 5: System.out.println(展示全部电影); qurryAllmovies(); break; case 6: System.out.println(退出系统); return; default: System.out.println(输入有误请重新输入); break; } } }核心功能方法1. 上架电影 (addMovie)private void addMovie() { Movie movie new Movie(); System.out.println(请输入电影名称); movie.setName(sc.next()); System.out.println(请输入电影主演); movie.setActor(sc.next()); System.out.println(请输入电影价格); movie.setPrice(sc.nextDouble()); System.out.println(请输入电影评分); movie.setScore(sc.nextDouble()); movies.add(movie); System.out.println(上架成功); }2. 按名称查询电影 (queryMovie)public Movie queryMovieByName(String name) { for (Movie m : movies) { if(m.getName().equals(name)){ return m; } } return null; } private void quaryMovie() { System.out.println(查询电影); System.out.println(请输入要查询的电影名称); String name sc.next(); Movie movie queryMovieByName(name); if (movie ! null) { System.out.println(movie); } else { System.out.println(没有此电影); } }3. 封杀明星功能 (banStar) - 特色功能private void banStar() { System.out.println(封杀某个明星); System.out.println(请输入要封杀的明星); String star sc.next(); // 使用迭代器安全地遍历和删除 java.util.IteratorMovie iterator movies.iterator(); while (iterator.hasNext()) { Movie m iterator.next(); if(m.getActor().contains(star)){ iterator.remove(); // 使用迭代器的remove方法 System.out.println(封杀成功); } } }关键点使用迭代器遍历集合避免ConcurrentModificationException使用contains()方法匹配明星姓名删除成功后显示提示信息4.删除电影removeMovieprivate void removeMovie() { System.out.println(下架电影); System.out.println(请输入要删除的电影名称); String name sc.next(); Movie movie queryMovieByName(name); if (movie ! null) { movies.remove(movie); } else { System.out.println(没有此电影); } }5. 展示全部电影qurryAllmoviesprivate void qurryAllmovies() { for (Movie m : movies) { System.out.println(m.getName() 评分m.getScore() 主演m.getActor() 价格m.getPrice()); } }3. Test.java - 程序入口public class Test { public static void main(String[] args) { // 创建电影操作对象 MovieService movieService new MoviceService(); // 启动系统 movieService.start(); } }系统功能详解1. 上架电影输入电影名称、主演、价格、评分将电影对象添加到集合中提供成功反馈2. 下架电影按电影名称查找从集合中移除电影处理电影不存在的情况3. 查询电影按名称精确查询显示电影的详细信息友好的错误提示4. 封杀明星特色功能删除包含指定明星的所有电影支持部分匹配如输入刘会删除所有姓刘的明星电影使用迭代器安全删除5. 展示全部电影遍历显示所有电影信息格式化输出电影属性6. 退出系统结束程序运行技术亮点面向对象设计Movie类封装电影数据MoviceService处理业务逻辑集合框架应用使用ArrayList存储电影对象迭代器模式安全地遍历和删除集合元素用户友好交互清晰的菜单提示和错误处理代码复用queryMovieByName方法被多个功能复用运行展示项目改进建议数据持久化添加文件或数据库存储重启程序不丢失数据输入验证对用户输入进行合法性检查异常处理添加更完善的异常处理机制UI优化可以考虑使用图形界面功能扩展添加电影分类、搜索排序等功能学习价值这个项目非常适合Java初学者学习理解面向对象编程的基本概念掌握集合框架的使用学习控制台应用程序的开发实践业务流程设计理解迭代器的使用场景总结这个电影管理系统虽然简单但涵盖了Java编程的核心概念。通过这个项目可以学习到Java基础语法、面向对象设计、集合操作和用户交互设计等关键技能。项目结构清晰代码易于理解是Java学习者的优秀实践案例。