需求:
展示系统中的全部电影(每部电影展示:名称、评分)。
允许用户根据电影编号(id)查询出某个电影的详细信息。
1.首先创建JavaBean类Movie方法
package com.gideon.domain;
/**
* JavaBean
*/
public class Movie {
private int id;//编号
private String title;//片名
private String time;//时间
private double score;//平分
private String area;//地区
private String type;//类型
private String director;//导演
private String starring;//主演
public Movie() {
}
public Movie(int id, String title, String time, double score, String area, String type, String director, String starring) {
this.id = id;
this.title = title;
this.time = time;
this.score = score;
this.area = area;
this.type = type;
this.director = director;
this.starring = starring;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
public String getStarring() {
return starring;
}
public void setStarring(String starring) {
this.starring = starring;
}
}
2.创建MovieSeries服务类进行方法实现
package com.gideon.test;
import com.gideon.domain.Movie;
import java.util.Scanner;
public class MovieSeries {
Scanner scanner = new Scanner(System.in);
private Movie[] movies;
public MovieSeries(Movie[] movies) {
this.movies=movies;//将Test对象中的数据传入 this.movies 当前数组中进行使用
}
/**
* 启动电影信息管理系统
*/
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 = scanner.nextInt();
switch (choice){
case 1:{
queryMovieInfos();
}
case 2:{
queryMovieInfoById();
}
case 3:{
System.out.println("感谢您的使用, 再见!");
break lo;
}
case 4:{
System.out.println("您的输入有误, 请检查");
break;
}
}
}
}
private void queryMovieInfoById() {
//1.键盘录入用户输入的编号
System.out.println("请输入您要查询的电影编号");
int id = scanner.nextInt();
//2.遍历数组,从数组中查询电影信息
for(int i=0;i<movies.length;i++){
Movie movie = movies[i];//重新创建一个叫movie的Movie类型的变量进行比对
if(movies[i].getId()==id){//如果Test对象里面的ID等于用户输入的ID则继续
//3.将找到的电影信息,打印在控制台
//getXxx()得到Test对象里面的数据
System.out.println(movie.getId() + "---" + movie.getTitle() + "---" + movie.getTime()
+ "---" + movie.getScore() + "---" + movie.getArea() + "---"
+ movie.getType() + "---" + movie.getDirector() + "---" + movie.getStarring());
return;
}
}
// 代码要是走到这里, 说明没找到
System.out.println("您输入的编号不存在, 请检查!");
}
private void queryMovieInfos() {
//1.遍历数组,取出每一个电影对象
for(int i=0;i<movies.length;i++){
// 2. 通过电影对象, 调用内部getXxx方法, 获取信息并打印
System.out.println(movies[i].getTitle() + "---" + movies[i].getScore());
}
}
}
3.编写测试类MovieTest类
package com.gideon.test;
import com.gideon.domain.Movie;
public class MovieTest {
public static void main(String[] args) {
Movie movie = new Movie();
Movie movie1 = new Movie(1, "东八区的先生们", "2022", 2.1, "中国大陆", "剧情 喜剧", "夏睿", "张翰 王晓晨");
Movie movie2 = new Movie(2, "上海堡垒", "2019", 2.9, "中国大陆", "爱情 战争 科幻", "滕华涛", "鹿晗 舒淇");
Movie movie3 = new Movie(3, "纯洁心灵·逐梦演艺圈", "2015", 2.2, "中国大陆", "剧情 喜剧", "毕志飞", "朱一文 李彦漫");
Movie[] movies = {movie1,movie2,movie3};//将对象放入数组,形成对象数组
// 该如何将一个类中的数据, 传递给另外一个类
MovieSeries movieSeries = new MovieSeries(movies);
movieSeries.start();
}
}