需求:展示电影的全部信息,包括id、 名称、价格、主演。要求展示出全部信息,并且用户可以根据电影id号查询某个电影的详细息
实施步骤:
1、设计电影类Movie,以便创建电影对象,封装电影数据
package org.example.Demo;
//实体类
public class Movie {
private int id;
private String name;
private double price;
private String actor;
public Movie() {
}
//有参构造器
public Movie(int id, String name, double price, String actor) {
this.id = id;
this.name = name;
this.price = price;
this.actor = actor;
}
//为每一个成员变量构建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 getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor;
}
}
2、封装系统中的全部电影数据,以便拿到电影数据以供查询展示
package org.example.Demo;
public class Test {
public static void main(String[] args) {
//展示系统中的全部电影信息(id、名称、价格、主演)
//展示全部信息,并允许用户根据电影编号(id)查询出某个电影的详细信息
//1、设计电影类Movie,以便创建电影对象,封装电影数据
//2、封装系统中的全部电影数据,以便拿到电影数据以供查询展示
Movie[] movies = new Movie[6];//类本身就是类型
//movies = [null,null,null,null,null,null]
// 0 1 2 3 4 5
movies[0] = new Movie(1,"《肖申克的救赎》",9.6,"蒂姆·罗宾斯");
movies[1] = new Movie(2,"《霸王别姬》",9.5,"张国荣");
movies[2] = new Movie(3,"《阿甘正传》",9.4,"汤姆·汉克斯");
movies[3] = new Movie(4,"《星际穿越》",9.5,"安妮·海瑟薇");
movies[4] = new Movie(5,"《公主日记》",9.4,"安妮·海瑟薇");
movies[5] = new Movie(6,"《泰坦尼克号》",9.4,"莱昂纳多·德卡普里奥");
//3、创建电影操作对象,专门负责电影数据的业务操作
MovieOperator movieOperator = new MovieOperator(movies);
movieOperator.showAll();
movieOperator.searchById();
}
}
Movie类有电影的各种详细信息,类也是类型,因此创建Movie类的对象。而要展示电影和根据电影id号查询某个电影的详细信息,要将6个电影对象都封装在一起,因此用数组来存储6个电影对象。
3、创建电影操作对象,专门负责电影数据的业务操作
package org.example.Demo;
import java.util.Scanner;
public class MovieOperator {
private Movie[] movies ;
public MovieOperator(){
}
public MovieOperator(Movie[] movies){
this.movies = movies;
}
public void showAll() {
System.out.println("-----全部电影信息如下-----");
for (int i = 0; i < movies.length; i++) {
System.out.println(movies[i].getId()+movies[i].getName()+movies[i].getPrice()+movies[i].getActor());
}
}
public void searchById() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要查询的电影编号:");
int id = sc.nextInt();
for (int i = 0; i < movies.length; i++) {
//判断当前电影对象的id是否是我们输入的正在找的id,是则打印出该电影信息并立即结束方法
if (movies[i].getId() == id) {
System.out.println(movies[i].getId()+movies[i].getName()+movies[i].getPrice()+movies[i].getActor());
return;
}
}
//若循环结束仍未找到与正在找的id相等的id,则没有这个电影信息
System.out.println("没有找到该电影");
}
}
那么,电影类对象数组movies如何进入到电影操作类中进行电影数据的业务处理呢?下图展现了主类中电影类对象数组movies是怎么被Movieoperator类里的movies接收的:
执行结果:
标签:02,Java,String,Movie,电影,笔记,public,movies,id From: https://blog.csdn.net/ddshs/article/details/144842275