在这篇博客中,我将详细解析一个简单的Java电影管理程序。该程序使用面向对象编程(OOP)的思想,定义了电影类和一些基本操作。接下来,我们将逐步分析代码,并解释各个部分的功能。
一、Movie类
public class Movie {
private int id; // 电影编号
private String filmName; // 电影名
private double score; // 电影评分
private String dirName; // 导演名
public Movie() {
}
public Movie(int id, String filmName, double score, String dirName) {
this.id = id;
this.filmName = filmName;
this.score = score;
this.dirName = dirName;
}
// Getter 和 Setter 方法
...
}
1.1 类的属性
Movie类有四个属性:id(电影编号)、filmName(电影名称)、score(电影评分)和dirName(导演名称)。它们都是私有的,以保护数据的封装性。
1.2 构造方法
类中有一个无参构造方法和一个含参构造方法。含参构造方法用于创建时初始化电影的属性。
1.3 Getter和Setter方法
这些方法允许我们外部访问和修改私有属性,遵循了Java的封装原则。
二、MovieOpt类
public class MovieOpt {
public Movie[] generateData() {
// 生成电影列表数据
Movie[] movies = new Movie[5];
movies[0] = new Movie(1,"出拳吧,妈妈",7.9,"唐晓白");
...
return movies;
}
public void showMovies(Movie[] movies) {
// 将指定的电影数组数据遍历展现
System.out.println("电影列表如下:");
for (int i = 0; i < movies.length; i++) {
Movie m = movies[i];
System.out.println("编号:"+m.getId()+" 电影:"+m.getFilmName());
}
}
public void printMovieById(int id, Movie[] movies) {
// 根据ID带数组中匹配电影打印
for (int i = 0; i < movies.length; i++) {
Movie m = movies[i];
if (m.getId() == id) {
System.out.println("电影详情如下:");
System.out.println("编号:"+m.getId());
System.out.println("名称:"+m.getFilmName());
System.out.println("评分:"+m.getScore());
System.out.println("导演:"+m.getDirName());
return;
}
}
}
}
2.1 生成电影数据
generateData()方法生成并返回一个包含五部电影的数组。每部电影通过Movie类的构造方法初始化。
2.2 显示电影列表
showMovies(Movie[] movies)方法接受一个电影数组作为参数,通过循环遍历数组,并打印出每部电影的编号和名称。
2.3 根据ID查找电影
printMovieById(int id, Movie[] movies)方法根据用户输入的电影编号,遍历电影数组,并打印出该电影的详细信息。
三、demo01类(主类)
public class demo01 {
public static void main(String[] args) {
MovieOpt movieOpt = new MovieOpt();
Movie[] movies = movieOpt.generateData();
movieOpt.showMovies(movies);
Scanner sc = new Scanner(System.in);
System.out.println("请输入电影编号查看数据:");
int id = sc.nextInt();
movieOpt.printMovieById(id, movies);
}
}
3.1 程序入口
main方法是应用程序的入口。首先,创建MovieOpt对象,并生成电影数据。然后,调用showMovies()方法显示电影列表。
3.2 用户输入
程序使用Scanner类获取用户输入的电影编号,并调用printMovieById()方法输出指定电影的详细信息。
四、总结
这段代码展示了如何利用Java的面向对象特性实现一个简单的电影管理程序。通过定义Movie类和MovieOpt类,程序可以存储、显示和查询电影信息。这个程序可以作为学习Java OOP的基础,帮助新的Java程序员理解类、对象、封装和基本的输入输出操作。




1万+

被折叠的 条评论
为什么被折叠?



