首先在主函数中定义电影票信息,再通过一个switch语句去进行一个选择(具体函数如下)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//定义一个电影数组
Movie[] movies=new Movie[4];
//将电影信息放入数组中
movies[0]=new Movie(1,"水门桥",38.9,9.8,"徐克","吴京","12万人想看");
movies[1]=new Movie(2,"出拳吧",39,7.8,"唐晓白","田雨","3.5万人想看");
movies[2]=new Movie(3,"月球陨落",42,7.9,"罗兰","贝瑞","17.9万人想看");
movies[3]=new Movie(4,"满江红",40,9.7,"张艺谋","易烊千玺","18万人想看");
//创建一个电影操作对象
MovieOperator operator=new MovieOperator(movies);
//循环查询
while (true) {
System.out.println("==电影信息系统==");
System.out.println("1、查询全部电影信息");
System.out.println("2、根据ID查询电影信息");
System.out.print("请您选择:");
Scanner sc=new Scanner(System.in);
int choice=sc.nextInt();
switch (choice){
case 1:
//查询全部电影信息
operator.printfAlt();
System.out.println( );
break;
case 2:
System.out.print("请输入要查询的电影ID:");
int id=sc.nextInt();
//根据ID查询电影信息
operator.printfById(id);
System.out.println( );
break;
default:
System.out.println("输入有误,请重新输入");
System.out.println( );
}
}
}
}
在Movie函数中定义以下内容
public class Movie {
// 电影id
private int id;
// 电影名称
private String name;
// 电影价格
private double price;
// 电影评分
private double score;
// 电影导演
private String director;
// 电影演员
private String actor;
// 电影信息
private String info;
public Movie() {
}
public Movie(int id, String name, double price, double score, String director, String actor, String info) {
this.id = id;
this.name = name;
this.price = price;
this.score = score;
this.director = director;
this.actor = actor;
this.info = info;
}
// 获取电影id
public int getId() {
return id;
}
// 设置电影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 getDirector() {
return director;
}
// 设置电影导演
public void setDirector(String director) {
this.director = director;
}
// 获取电影演员
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;
}
}
最后在MovieOperator函数中编辑两个选项中的内容输出,并在主函数中调用输出
public class MovieOperator {
private Movie[] movies;
public MovieOperator(Movie[] movies) {
this.movies = movies;
}
public void printfAlt() {
System.out.println("----系统全部电影信息如下----");
for (int i = 0; i < movies.length; i++) {
Movie m = movies[i];
System.out.println("编号:" + m.getId());
System.out.println("电影名称:" + m.getName());
System.out.println("价格:" + m.getPrice());
System.out.println("------------------------");
}
}
public void printfById(int id) {
for (int i = 0; i < movies.length; i++) {
Movie m = movies[i];
if (m.getId() == id) {
System.out.println("编号:" + m.getId());
System.out.println("电影名称:" + m.getName());
System.out.println("价格:" + m.getPrice());
System.out.println("得分:" + m.getScore());
System.out.println("导演:" + m.getDirector());
System.out.println("主演:" + m.getActor());
System.out.println("其他信息:" + m.getInfo());
System.out.println("---------------------");
return;
}
}
System.out.println("没有该电影信息");
}
}
具体输出内容如下