需求:展示系统中的全部电影(每部电影展示:名称,价格),允许用户根据电影编号(ID)查询出某个电影的详细信息 使用面向对象编程实现
电影类
public class Movie {
private int id;
private String name;
private double price;
private double score;
private String ditector;
private String actor;
private String info;
public Movie() {
}
public Movie(int id, String name, double price, double score, String ditector, String actor, String info) {
this.id = id;
this.name = name;
this.price = price;
this.score = score;
this.ditector = ditector;
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 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 getDitector() {
return ditector;
}
public void setDitector(String ditector) {
this.ditector = ditector;
}
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;
}
}
电影操作类
public class MovieOperator {
//要处理多部电影
private Movie[] movies;
public MovieOperator(Movie[] movies) {
this.movies = movies;
}
//展示全部电影信息
public void printAllMovies(){
System.out.println("全部电影如下");
for (int i = 0; i < movies.length; i++) {
Movie m=movies[i];
System.out.println(m.getName());
System.out.println(m.getPrice());
System.out.println("------------------");
}
}
public void printMovieById(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.getDitector());
System.out.println("主演:"+m.getActor());
System.out.println("其他:"+m.getInfo());
return;
}
}
System.out.println("很抱歉,没有该电影信息");
}
}
测试类
import java.util.Scanner;
//需求:展示系统中的全部电影(每部电影展示:名称,价格)
// 允许用户根据电影编号(ID)查询出某个电影的详细信息
//使用面向对象编程实现
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Movie m1=new Movie(1,"水门桥",39.8,9.8,"吴京","徐克","12万人想看");
Movie m2=new Movie(2,"出拳吧",39,7.8,"唐晓白","田雨","3.5万人想看");
Movie m3=new Movie(3,"月球陨落",42,7.9,"罗兰","贝瑞","17.9万人想看");
Movie m4=new Movie(4,"一点就到家",35,8.7,"许宏宇","刘昊然","10.8万人想看");
Movie[] movies={m1,m2,m3,m4};
MovieOperator movieOperator=new MovieOperator(movies);
while (true) {
System.out.println("====电影信息系统====");
System.out.println("1、查询全部电影信息");
System.out.println("2、根据ID查询某个电影信息");
System.out.println("请输入命令");
int n=sc.nextInt();
switch (n){
case 1: movieOperator.printAllMovies();
break;
case 2:
System.out.println("请输入要查询的ID");
int m=sc.nextInt();
movieOperator.printMovieById(m);
break;
default:
System.out.println("您输入的命令有问题");
}
}
}
}