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

ArrayList之模仿电影系统综合案例: 需求完成电影上架、电影浏览、根据电影id查找以及删除指定电影功能。目标使用所学习的ArraryList集合结合面向对象编程实现以上需求。思路分析在电影系统中每一个都包含电影的id、电影的名称、电影的优惠价、电影的主演、电影的评分、电影的其他信息。那我们就可以定义一个电影类Movie类用来描述每一个电影对象要封装那些数据。接着再写一个电影管理类MovieOperator类提供展示操作界面、上架电影、浏览电影、删除电影、根据id查找电影详细信息的功能。在管理类中首先创建一个集合ArraryList 用来存储数据然后创建一个键盘录入对象供用户输入创建一个add方法用来添加电影接着创建一个对象用来封装用户电影信息创建一个printAllMovie() 方法用来实现详细浏览功能遍历集合获取到集合中的每个元素并封装到movie对象中创建一个findById方法并传入id参数实现用户根据id查询电影详细信息遍历数组创建一个remove方法遍历数组删除指定id的电影信息创建一个start() 方法专门负责展示系统页面的使用whlietrue死循环让用户输入操作命令最后在写一个测试类MovieTest在测试类中进行测试。其实测试类只起到一个启动程序的作用。代码:package Date317; public class Movie { private int id;//电影id private String name;//电影名称 private double specialPrice;//电影优惠价 private double score;//电影评分 private String actor;//电影主演 private String info;//电影描述信息 public Movie() { } public Movie(int id, String name, double specialPrice, double score, String actor, String info) { this.id id; this.name name; this.specialPrice specialPrice; this.score score; this.actor actor; this.info info; } public int getId() { return id; } public void setId(int id) { this.id id; } public String getName() { return name; } public void setName(String name) { this.name name; } public double getSpecialPrice() { return specialPrice; } public void setSpecialPrice(double specialPrice) { this.specialPrice specialPrice; } public double getScore() { return score; } public void setScore(double score) { this.score score; } public String getActor() { return actor; } public void setActor(String actor) { this.actor actor; } public String getInfo() { return info; } public void setInfo(String info) { this.info info; } Override public String toString() { return Movie{ id id , name name \ , specialPrice specialPrice , score score \ , actor actor \ , info info \ }; } }package Date317; import java.util.ArrayList; import java.util.Scanner; public class MovieOperator { //创建一个集合用来存储电影信息 private ArrayListMovie movies new ArrayList(); //创建一个键盘录入对象 Scanner sc new Scanner(System.in); //上架电影方法 public void add(){ System.out.println(请输入您要添加的电影信息); //创建一个对象用来封装电影信息 Movie movie new Movie(); //添加电影id System.out.println(请输入电影id:); int id sc.nextInt(); movie.setId(id); //添加电影名称 System.out.println(请输入电影名称); String name sc.next(); movie.setName(name); //电影优惠价格 System.out.println(请输入电影优惠价格); double specialPrice sc.nextDouble(); movie.setSpecialPrice(specialPrice); // 电影评分 System.out.println(请输入电影评分); double score sc.nextDouble(); movie.setScore(score); //电影主演 System.out.println(请输入电影主演); String actor sc.next(); movie.setActor(actor); //电影描述信息 System.out.println(请输入电影描述信息); String info sc.next(); movie.setInfo(info); //把对象添加到数组中去 movies.add(movie); System.out.println(恭喜您添加成功~~); } //浏览电影方法 public void printAllMovie(){ System.out.println(全部电影信息如下); for (int i 0; i movies.size(); i) { Movie movie movies.get(i);//取出当前电影对象 System.out.println(电影id movie.getId()); System.out.println(电影名称 movie.getName()); System.out.println(电影优惠价; movie.getSpecialPrice()); System.out.println(电影评分 movie.getScore()); System.out.println(电影主演 movie.getActor()); System.out.println(电影描述信息 movie.getInfo()); System.out.println(-----------------------------------------------); } } //根据id查询电影信息 public void findById(int id){ System.out.println(该电影信息如下); for (int i 0; i movies.size(); i) { Movie movie movies.get(i); if (movie.getId() id ){ System.out.println(电影名称 movie.getName()); System.out.println(电影优惠价; movie.getSpecialPrice()); System.out.println(电影描述信息 movie.getInfo()); return; } } System.out.println(没有找到该电影信息~); } //下架指定电影信息 public void removeMovie(int id){ //1.标记是否能找到id boolean exist false; for (int i 0; i movies.size(); i) { Movie movie movies.get(i); if (movie.getId() id){ movies.remove(i); exist true; System.out.println(下架成功); break; } } if (!exist){ System.out.println(该id不存在~); } } //专门负责展示系统页面的 public void start(){ System.out.println(欢迎进入后台管理系统); while (true){ System.out.println(1.上架电影(add)); System.out.println(2.查看全部电影(findAll)); System.out.println(3.查询某个电影详细信息(findById)); System.out.println(4.删除某个电影信息(remove)); System.out.println(请输入操作命令); String command sc.next(); switch (command){ case add: add(); break; case findAll: printAllMovie(); break; case findById: System.out.println(请输入您要查询的id); int id sc.nextInt(); findById(id); break; case remove: System.out.println(请输入您要下架的电影id:); int uId sc.nextInt(); removeMovie(uId); break; default: System.out.println(您输入的命令有误); } } } }package Date317; public class MovieTest { public static void main(String[] args) { MovieOperator movieOperator new MovieOperator(); movieOperator.start(); } }