面对对象编程Demo电影信息查询系统
整体实现难度不大,但是小细节容易出错。
主函数
public static void main(String[] args) {
//主方法
//定义四个movie对象类型数组
movie[] movies = new movie[4];
//利用movie[0-3]是一个个地址,用有参构造器初始化每个对象
movie m1 = new movie("水门桥",1,38.9,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万");
movies[0] = m1;
movies[1] = m2;
movies[2] = m3;
movies[3] = m4;
// 也可以movies[1] = new movie("水门桥",1,38.9,9.8,"吴京","徐克","12万");
//创建一个电影操作类的对象,接收电影数据,对其经行业务处理
operator movieOperator = new operator(movies);
// movieOperator.PrintfMoviesALL();
// movieOperator.searchMovieById(5);
Scanner s = new Scanner(System.in);
while (true) {
System.out.println("-----------------------------------");
System.out.println("-------欢迎使用小古电影系统!------");
System.out.println("------1.显示系统所有电影信息------");
System.out.println("------2.通过编号查询系统电影------");
System.out.println("---------输入数字进行操作---------");
System.out.println("-----------------------------------");
int num = s.nextInt();
switch (num) {
case 1:
movieOperator.PrintfMoviesALL();
break;
case 2:
System.out.println("请输入你要查询的电影id:");
int id = s.nextInt();
movieOperator.searchMovieById(id);
break;
default:
System.out.println("您输入的指令有误,请重新输入!");
}
}
}
}
实体类
package top.xiaoguyouqu.object;
public class movie {
// 电影对象实体类
//定义成员对象
private String name;//电影名
private int id;//电影id
private double price;//电影价格
private double score;//电影平分
private String actor;//电影主演
private String director;//电影导演
private String other;//其他信息
//必须提供一个公考的无参构造器
public movie(){
}
//贴心提供一个有参构造器
public movie(String name ,int id,double price,double score,String actor,String director,String other ){
this.name = name;
this.id = id;
this.price = price;
this.score = score;
this.actor = actor;
this.director = director;
this.other = other;
}
//为每个成员提供get set 方法
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setId(int id){
this.id = id;
}
public int getId(){
return id;
}
public void setPrice(double price){
this.price = price;
}
public double getPrice(){
return price;
}
public void setScore(double score){
this.score = score;
}
public double getScore(){
return score;
}
public void setActor(String actor){
this.actor = actor;
}
public String getActor(){
return actor;
}
public void setDirector(String director){
this.director = director;
}
public String getDirector(){
return director;
}
public void setOther(String other){
this.other = other;
}
public String getOther(){
return other;
}
}
数据处理类
package top.xiaoguyouqu.object;
public class operator {
// 数据处理类
//定义成员对象
private movie[] movies;
//将传入的数组赋给这个类的成员对象
public operator(movie[] movies){
this.movies = movies;
}
//对数据进行处理
//1.展示系统中的全部电影
public void PrintfMoviesALL(){
System.out.println("小古电影系统全部电影有:");
for (int i = 0; i < movies.length; i++) {
System.out.println("--------------------");
System.out.println("电影名称:"+movies[i].getName());
System.out.println("电影id:"+movies[i].getId());
System.out.println("电影价格:"+movies[i].getPrice());
System.out.println("电影评分:"+movies[i].getScore());
System.out.println("电影主演:"+movies[i].getActor());
System.out.println("电影导演:"+movies[i].getDirector());
System.out.println("电影热度:"+movies[i].getOther()+"人想看");
System.out.println("--------------------");
}
}
//2.允许用户通过电影编号id来查询某个电影的详细信息
public void searchMovieById(int id){
for (int i = 0; i < movies.length; i++) {
if (movies[i].getId() == id){
System.out.println("-------------------");
System.out.println("电影名称:"+movies[i].getName());
System.out.println("电影id:"+movies[i].getId());
System.out.println("电影价格:"+movies[i].getPrice());
System.out.println("电影评分:"+movies[i].getScore());
System.out.println("电影主演:"+movies[i].getActor());
System.out.println("电影导演:"+movies[i].getDirector());
System.out.println("电影热度:"+movies[i].getOther()+"人想看");
System.out.println("--------------------");
return;
}
}
System.out.println("很抱歉,没有找到有关该影片的信息!");
}
}