一、需求描述
1、展示系统中的全部电影(每部电影展示:名称、价格)。
2、允许用户根据电影编号(id)查询出每个电影的详细信息。
二、开发设计
1、需要一个电影实体类
2、设计一个电影操作类用来实现业务需求
3、测试程序
三、代码实现
3.1 Moive.java
package com.itheima.demo;
public class Moive {
//电影ID
private int id;
//电影名称
private String name;
//电影价格
private double price;
//电影评分
private String score;
//电影导演
private String director;
//电影主演
private String actor;
//其他信息
private String info;
//无参构造器
public Moive() {
}
//有参数构造器
public Moive(int id, String name, double price, String score, String director, String actor, String info) {
this.id = id;
this.name = name;
this.price = price;
this.score = score;
this.director = director;
this.actor = actor;
this.info = info;
}
//提供get/set方法
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 String getScore() {
return score;
}
public void setScore(String score) {
this.score = score;
}
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
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;
}
}
3.2 MoiveOperator.java
package com.itheima.demo;
public class MovieOperator {
private Moive[] moives;
public MovieOperator(Moive[] moives) {
this.moives = moives;
}
//展示系统全部电影信息
public void printAllMovies(){
for (int i = 0; i < moives.length; i++) {
System.out.println("第" + (i+1) + "部电影信息如下:");
System.out.println("ID:" + moives[i].getId());
System.out.println("电影名称:" + moives[i].getName());
System.out.println("电影评分:" + moives[i].getScore());
System.out.println("--------------------------");
}
}
//根据ID检索电影信息
public void getMovieById(int id){
for (int i = 0; i < moives.length; i++) {
if (moives[i].getId() == id){
System.out.println("您要搜索的电影信息如下:");
System.out.println("电影ID:" + moives[i].getId());
System.out.println("电影名称:" + moives[i].getName());
System.out.println("电影价格:" + moives[i].getPrice());
System.out.println("电影评分:" + moives[i].getScore());
System.out.println("电影导演:" + moives[i].getDirector());
System.out.println("电影主演:" + moives[i].getActor());
System.out.println("其他信息:" + moives[i].getInfo());
return;
}
}
System.out.println("您要搜索的电影不存在!");
}
}
3.3 Test.java
package com.itheima.demo;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//创建一个存储电影的数组
Moive[] moives = new Moive[4];
//为每部电影创建实例对象
moives[0] = new Moive(1,"热辣滚烫",49.9,"4.9","李平","贾玲、张小斐","电影不错!!");
moives[1] = new Moive(2,"飞驰人生2",39.9,"4.8","李平2","沈腾、范丞丞","嘿嘿!!");
moives[2] = new Moive(3,"第二十条",50,"4.6","李平3","赵丽颖","哈哈哈!!");
moives[3] = new Moive(4,"一闪一闪亮晶晶",59.9,"4.5","李平4","张万森","嘻嘻!!");
//创建一个电影操作实例
MovieOperator mo = new MovieOperator(moives);
//mo.printAllMovies();
//mo.getMovieById(3);
Scanner sc = new Scanner(System.in);
while (true) {
//模拟电影信息系统
System.out.println("****电影信息系统****");
System.out.println("1:查询全部电影信息");
System.out.println("2:根据ID搜索电影详细信息");
int command = sc.nextInt();
switch (command){
case 1:
mo.printAllMovies();
break;
case 2:
System.out.println("请输入你想搜索的电影ID:");
int id = sc.nextInt();
mo.getMovieById(id);
break;
default:
System.out.println("您输入的命令有问题,请重新输入");
}
}
}
}