电影信息系统
一.系统主要分为三个模块,分别用三个包中的类实现:
1.电影实体类Movie():主要用来储存电影对象的信息,不包含方法操作。
2.电影方法类MovieServiece():主要用来执行系统业务的逻辑
3.任务执行test():完成我们的需求实现。
二.1.电影类源代码:
package com.caseMovie.domain; public class Movie { private int id; private String tittle; private String time; private double score; private String area; private String type; private String director; private String starring; public Movie() { } public Movie(int id, String tittle, String time, double score, String area, String type, String director, String starring) { this.id = id; this.tittle = tittle; this.time = time; this.score = score; this.area = area; this.type = type; this.director = director; this.starring = starring; } /** * 获取 * @return id */ public int getId() { return id; } /** * 设置 * @param id */ public void setId(int id) { this.id = id; } /** * 获取 * @return tittle */ public String getTittle() { return tittle; } /** * 设置 * @param tittle */ public void setTittle(String tittle) { this.tittle = tittle; } /** * 获取 * @return time */ public String getTime() { return time; } /** * 设置 * @param time */ public void setTime(String time) { this.time = time; } /** * 获取 * @return score */ public double getScore() { return score; } /** * 设置 * @param score */ public void setScore(double score) { this.score = score; } /** * 获取 * @return area */ public String getArea() { return area; } /** * 设置 * @param area */ public void setArea(String area) { this.area = area; } /** * 获取 * @return type */ public String getType() { return type; } /** * 设置 * @param type */ public void setType(String type) { this.type = type; } /** * 获取 * @return director */ public String getDirector() { return director; } /** * 设置 * @param director */ public void setDirector(String director) { this.director = director; } /** * 获取 * @return starring */ public String getStarring() { return starring; } /** * 设置 * @param starring */ public void setStarring(String starring) { this.starring = starring; } }
2.电影方法类源代码:
package com.caseMovie.test; import com.caseMovie.domain.Movie; import java.util.Scanner; public class MovieService { Movie[] movies;//要点2 private Scanner sc = new Scanner(System.in); //要点3 //启动电影信息管理系统 public void start() { //创建死循环不断展示菜单直到用户选择退出 lo: while (true) { System.out.println("--------电影信息系统--------"); System.out.println("请输入您的选择:"); System.out.println("1. 查询全部电影信息"); System.out.println("2. 根据id查询电影信息"); System.out.println("3. 退出"); int choice = sc.nextInt(); switch (choice) { case 1: queryMovieInfo(this.movies);//要点2 break; case 2: insertMovieInfo(this.movies);//要点2 break; case 3: System.out.println("退出"); break lo; default: System.out.println("wrong input!"); break; } } } //根据id查询电影信息 private void insertMovieInfo(Movie[] movies) { int id = sc.nextInt(); for (int i = 0; i < movies.length; i++) { if (movies[i].getId() == id) { System.out.println(movies[i].getTittle() + "---" + movies[i].getId() + "---" + movies[i].getScore() + "---" + movies[i].getArea() + "---" + movies[i].getTime() + "---" + movies[i].getDirector() + "---" + movies[i].getStarring() + "---" + movies[i].getType()); } } return; } //将电影数组传入方法赋值给成员变量供调用 public MovieService(Movie[] movies) { this.movies = movies; //要点2 } //遍历电影名称和得分 public void queryMovieInfo(Movie[] movies) { //要点2 for (int i = 0; i < movies.length; i++) { System.out.println("电影名称:" + movies[i].getTittle() + " 评分:" + movies[i].getScore()); } } }
3.需求实现类:
package com.caseMovie.test; import com.caseMovie.domain.Movie; public class Test { public static void main(String[] args) { Movie movie1 = new Movie(1, "东八区的先生们", "2022", 2.1, "Chinese Land", "Comedy", "夏瑞", "张翰、王晓成"); Movie movie2 = new Movie(2, "上海堡垒", "2019", 2.9, "Chinese Land", "Love、war、Technology", "疼华涛", "鹿晗、舒淇"); Movie movie3 = new Movie(3, "纯洁心灵·逐梦演艺圈", "2015", 2.2, "Chinese Land", "Comedy", "毕志飞", "朱一文 李彦漫"); Movie[] movies = {movie1, movie2, movie3};//要点1 MovieService movieService = new MovieService(movies);//要点2 movieService.start(); } }
要点:1.通过创建对象类型的数组来储存对象(如Test()代码片段中要点1部分)
2. 通过构造方法的方式来传递数组对象:在构造方法中接受外部传递的数组对象,再在自身定义该对象类型的成员变量,再通过this来调用这个变量实现外部数据的输入
3. 通过将方法内部的声明转化为自身成员变量声明的方式,以供自身类内部所有方法调用
浙公网安备 33010602011771号