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

ArrayList之模仿电影系统综合案例

1.题目要求

完成电影的上架,以及电影信息浏览功能.id查询,id删除

2.思路分析

  • 数据封装:定义Cinema类封装电影 ID、名称、价格、描述等核心属性,通过set/get方法实现属性赋值与读取;
  • 数据存储:使用ArrayList集合存储多个Cinema对象,支持电影信息的动态增、删、查操作;
  • 功能实现
    • 上线电影:接收用户输入的电影信息,创建Cinema对象并添加至集合;
    • 浏览电影:遍历集合,打印所有电影的完整信息;
    • 按 ID 查询:遍历集合匹配 ID,找到则展示信息,未找到提示 “不存在”;
    • 下架电影:遍历集合匹配 ID,找到则删除该对象并提示成功,未找到提示 “不存在”;
  • 交互设计:通过循环菜单接收用户指令(add/query/exit/id/remove),调用对应方法实现功能,直至用户选择退出

3.解题过程

package Date318; public class Cinema { public int id;//电影id public String name;//电影名字 private double originalPrice;//电影原价 private double specialPrice;//电影优惠价 private String info;//其他信息 public Cinema() { } public Cinema(int id, String name, double originalPrice, double specialPrice, String info) { this.id = id; this.name = name; this.originalPrice = originalPrice; this.specialPrice = specialPrice; this.info = info; } public int getId() { return id; } @Override public String toString() { return "Cinema{" + "id=" + id + ", name='" + name + '\'' + ", originalPrice=" + originalPrice + ", specialPrice=" + specialPrice + ", info='" + info + '\'' + '}'; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getOriginalPrice() { return originalPrice; } public void setOriginalPrice(double originalPrice) { this.originalPrice = originalPrice; } public double getSpecialPrice() { return specialPrice; } public void setSpecialPrice(double specialPrice) { this.specialPrice = specialPrice; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } }
package Date318; import java.util.ArrayList; import java.util.Scanner; public class Cinema2 { private ArrayList<Cinema> Cinemas = new ArrayList<>(); private Scanner sc = new Scanner(System.in);//键盘录入 //添加信息 public void add() { System.out.println("===电影上线==="); Cinema Cinemase = new Cinema(); System.out.println("请您输入电影id"); int id = sc.nextInt(); Cinemase.setId(id); System.out.println("请您输入电影名字"); String name = sc.next(); Cinemase.setName(name); System.out.println("请您输入电影原价"); double originalPrice = sc.nextDouble(); Cinemase.setOriginalPrice(originalPrice); System.out.println("请您输入电影优惠价"); double specialPrice = sc.nextDouble(); Cinemase.setSpecialPrice(specialPrice); System.out.println("请您输入电影其他信息"); String info = sc.next(); Cinemase.setInfo(info); Cinemas.add(Cinemase); System.out.println("恭喜你,上架成功~~~"); } public void Cinema5() { for (int i = 0; i < Cinemas.size(); i++) { Cinema c = Cinemas.get(i); System.out.println("电影id:" + c.getId()); System.out.println("电影名字:" + c.getName()); System.out.println("电影原价:" + c.getOriginalPrice()); System.out.println("电影优惠价:" + c.getSpecialPrice()); System.out.println("电影其他信息:" + c.getInfo()); System.out.println("----------------------------------------------------------------------------"); } } public void Cinema4(int id) { for (int i = 0; i < Cinemas.size(); i++) { Cinema c = Cinemas.get(i); if (c.getId() == id) { System.out.println("电影id:" + c.getId()); System.out.println("电影名字:" + c.getName()); System.out.println("电影原价:" + c.getOriginalPrice()); System.out.println("电影优惠价:" + c.getSpecialPrice()); System.out.println("电影其他信息:" + c.getInfo()); return; } } System.out.println("不存在"); } //下架 public void Cinema6(int id) { boolean exist = false; for (int i = 0; i < Cinemas.size(); i++) { Cinema c = Cinemas.get(i); if (c.getId() == id) { Cinemas.remove(i); exist = true; System.out.println("下架成功!"); break; } } if (!exist) { System.out.println("不存在"); } } public void start() { while (true) { System.out.println("1.上线电影(add)"); System.out.println("2.浏览电影(query)"); System.out.println("3.退出系统(exit)"); System.out.println("4.选择要查询电影的id(id)"); System.out.println("请您输入操作命令"); System.out.println("5.选择要删除的id(remove)"); String m = sc.next(); switch (m) { case "add": add(); break; case "query": Cinema5(); break; case "exit": return; case "id": System.out.println("请输入"); int id = sc.nextInt(); Cinema4(id); break; case "remove": System.out.println("要删除的id"); int r = sc.nextInt(); Cinema6(r); break; default: System.out.println("无"); } } } }
package Date318; public class Cinema3 { public static void main(String[] args) { Cinema2 s = new Cinema2(); s.start(); } }
http://www.cnnetsun.cn/news/1360998.html

相关文章:

  • @SpringBootApplication 与 SPI 机制的终极解密
  • 和BS架构宠物健康咨询系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • 决胜2026:10大智能拓客系统硬核横评,帮老板精准选对获客工具
  • JavaEE零基础入门指南
  • 嵌入式AI开发必看:杜绝幻觉,才是工业级IDE的核心底气
  • MCP服务开发与AI集成
  • 开源TOP20项目(2026.03.09-2026.03.15)
  • 微软 Planetary Computer:地理空间数据服务的创新与应用潜力
  • 可调谐石墨烯超材料吸收体的FDTD仿真源文件
  • 如何学习计算机(民办普通大学生心得)
  • PHPStudy2018环境部署全攻略
  • 中控SCADA-MQTT驱动采集与MQTT转发应用详解
  • mathtype中omml2mml缺失问题解决
  • 动力域-混动系统/动力域半实物仿真测试
  • 从 AI 终端爆发看人机交互演进:薄膜开关为何仍是工业控制的核心方案?
  • 小白入门:无刷直流电机BLDC,我从无人机开始学的那些事儿
  • 解决 ScrollView嵌套RecyclerView设置nestedScrollingEnabled=false数据显示不全问题
  • GNS3 入门指南
  • 并联机器人设计快速上手篇:利用iRobotCAM完成机器人夹爪的设计,无缝对接MuJoCo
  • 【2026年-11期】Where lies the future of humanity in the age of AI?
  • Chrome浏览器整页截图方法(MacOS)
  • 355. Java IO API -去除路径中的冗余信息
  • 面对大厂抄袭的指控,OpenClaw是否有足够的知识产权法律武器来保护自己?还是只能依靠舆论?
  • 康复训练 7
  • AI正在改变这10个行业,你的工作在其中吗?
  • 数字化时代,企业的商业模式建设
  • 计算机毕业设计之springboot基于web的新生报到系统设计与实现
  • 修改用户密码
  • 储能系统——04 升压换流一体机和箱变设计分析
  • 虚拟伴侣情感交互系统的压力测试框架与安全阀机制