Test.java
public class Test {
public static void main(String[] args) {
Movie movie1 = new Movie(1,"上海堡垒","120分钟",2.1);
Movie movie2 = new Movie(2,"战狼3","两个半小时",4.9);
Movie movie3 = new Movie(3,"流量地球","三小时",5.0);
Movie[] movies={movie1,movie2,movie3}; //此数组存储对象地址
/*如何将Test类当中的Movie数据传递给MovieService类:
在Tes类中使用MovieService方法的构造方法*/
MovieService Mservice = new MovieService(movies);
Mservice.start();
}
}
Movie.java
public class Movie {
private int id;
private String title;
private String time;
private double source;
public Movie() {
}
public Movie(int id, String title, String time, double source) {
this.id = id;
this.title = title;
this.time = time;
this.source = source;
}
/**
* 获取
* @return id
*/
public int getId() {
return id;
}
/**
* 设置
* @param id
*/
public void setId(int id) {
this.id = id;
}
/**
* 获取
* @return title
*/
public String getTitle() {
return title;
}
/**
* 设置
* @param title
*/
public void setTitle(String title) {
this.title = title;
}
/**
* 获取
* @return time
*/
public String getTime() {
return time;
}
/**
* 设置
* @param time
*/
public void setTime(String time) {
this.time = time;
}
/**
* 获取
* @return source
*/
public double getSource() {
return source;
}
/**
* 设置
* @param source
*/
public void setSource(double source) {
this.source = source;
}
}
MovieService.java
import java.util.Scanner;
public class MovieService {
private Movie[] movies; //定义一个成员变量用其从构造方法中承接局部变量movies数组,使Movie类中的数据可在此类中使用 合理隐藏
public MovieService(Movie[] movies) {
this.movies=movies;
}
Scanner sc = new Scanner(System.in);
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:
System.out.println("查询全部电影信息");
ShowAll();
break;
case 2:
System.out.println("根据id查询电影信息");
SearchId();
break;
case 3:
System.out.println("谢谢使用");
break lo;
default:
System.out.println("您的输入有误");
break;
}
}
}
private void SearchId() {
//键入编号
System.out.println("请输入编号");
int Id = sc.nextInt();
//遍历数组,查询信息
for (int i = 0; i < movies.length; i++) {
Movie movie = movies[i];
if(movie.getId()==Id){
//打印电影信息
System.out.println(movie.getId()+movie.getTitle()+movie.getTime()+movie.getSource());
return;
}
}
System.out.println("输入错误");
}
private void ShowAll() {
for (int i = 0; i < movies.length; i++) {
Movie movie = movies[i];
//通过movie对象,调用内部方法
System.out.println(movie.getTitle()+"---"+movie.getId()+"---"+movie.getSource());
}
}
}