需求:
1.展示系统中全部电影(每部电影展示:名称、价格。。。)。
2.允许用户根据电影编号(id)查询出某个电影的详细信息。
创建一个电影实体类,保存电影的数据。
//设计一个电影实体类,保存电影数据。
public class Movie {
private int id;//编号
private String name;//名称
private double price;//价格
private double score;//评分
private String diector;//导演
private String actor;//主演
public Movie() {
}
public Movie(int id, String name, double price, double score, String diector, String actor) {
this.id = id;
this.name = name;
this.price = price;
this.score = score;
this.diector = diector;
this.actor = actor;
}
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 getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public String getDiector() {
return diector;
}
public void setDiector(String diector) {
this.diector = diector;
}
public String getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor;
}
}
创建一个电影操作类,对电影数据进行业务处理。
//设计一个电影操作类,对电影数据进行业务处理。
public class MovieOperator {
private final Movie[] movies;
public MovieOperator(Movie[] movies) {
this.movies = movies;
}
public void showAllMovies() {
System.out.println("---系统全部信息如下---");
for (int i = 0; i < movies.length; i++) {
Movie m = movies[i];
System.out.println("编号:" + m.getId());
System.out.println("名称:" + m.getName());
System.out.println("价格:" + m.getPrice());
System.out.println("评分:" + m.getScore());
System.out.println("主演:" + m.getActor());
System.out.println("导演:" + m.getDiector());
System.out.println("--------------");
}
}
public void searchMovieById(int id) {
for (int i = 0; i < movies.length; i++) {
Movie m = movies[i];
if (m.getId() == id) {
System.out.println("该电影详情如下:");
System.out.println("编号:" + m.getId());
System.out.println("名称:" + m.getName());
System.out.println("价格:" + m.getPrice());
System.out.println("评分:" + m.getScore());
System.out.println("主演:" + m.getActor());
System.out.println("导演:" + m.getDiector());
return;//代表已经找到,跳出该方法。
}
}
System.out.println("没有该电影信息~");
}
}
创建一个测试类。
import java.util.Scanner;
/*电影数据:
1.“出拳吧,妈妈”,35,7.9,”田雨“,”唐晓白“
2.”长津湖之水门桥“,60,9.6,”吴京“,”徐克“
3.“月球陨落”,54,7.9,“哈莉·贝瑞”,“罗兰·艾默里奇”
4.”一点就到家“,36,8.7,“刘昊然”,“许宏宇”
*/
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Movie[] movies = new Movie[4];
Movie m1 = new Movie(1, "出拳吧,妈妈", 35, 7.9, "田雨", "唐晓白");
Movie m2 = new Movie(2, "长津湖之水门桥", 60, 9.6, "吴京", "徐克");
Movie m3 = new Movie(3, "月球陨落", 54, 7.9, "哈莉·贝瑞", "罗兰·艾默里奇");
Movie m4 = new Movie(4, "一点就到家", 36, 8.7, "刘昊然", "许宏宇");
movies[0] = m1;
movies[1] = m2;
movies[2] = m3;
movies[3] = m4;
MovieOperator movieOperator = new MovieOperator(movies);
while (true){
System.out.println("===电影信息系统===");
System.out.println("1.查询全部电影信息");
System.out.println("2.根据id查询电影信息");
System.out.println("3.退出系统!");
System.out.println("请输入您的操作命令:");
int command = sc.nextInt();
switch (command){
case 1:
movieOperator.showAllMovies();
break;
case 2:
System.out.println("请输入您要查询的电影编号:");
movieOperator.searchMovieById(sc.nextInt());
break;
case 3:
return;
default:
System.out.println("您的输入命令有问题!");
System.out.println();
}
}
}
}