答案:该电影收藏管理系统用Java实现增删改查功能,通过Movie类封装电影信息,MovieManager类管理电影列表并提供添加、查看、搜索、删除及文件存取操作,主程序以菜单形式交互,数据存储于movies.txt文件中,适合初学者练习面向对象编程与文件处理。

开发一个简易的电影收藏管理系统,可以用Java实现基本的增删改查功能。系统不需要数据库,使用文件存储数据即可,适合初学者练手。下面介绍如何一步步构建这个系统。
这个电影收藏管理系统包含以下核心功能:
定义一个Movie类来封装电影的基本属性。
public class Movie {
private String title;
private String director;
private int year;
private double rating;
<pre class='brush:java;toolbar:false;'>public Movie(String title, String director, int year, double rating) {
this.title = title;
this.director = director;
this.year = year;
this.rating = rating;
}
// Getter 方法
public String getTitle() { return title; }
public String getDirector() { return director; }
public int getYear() { return year; }
public double getRating() { return rating; }
@Override
public String toString() {
return "《" + title + "》 导演:" + director + " 年份:" + year + " 评分:" + rating;
}}
立即学习“Java免费学习笔记(深入)”;
使用ArrayList存储电影列表,并提供操作方法。
import java.util.*;
<p>public class MovieManager {
private List<Movie> movies = new ArrayList<>();
private final String FILE_NAME = "movies.txt";</p><pre class='brush:java;toolbar:false;'>public void addMovie(Movie movie) {
movies.add(movie);
}
public void viewAllMovies() {
if (movies.isEmpty()) {
System.out.println("暂无收藏电影。");
} else {
for (int i = 0; i < movies.size(); i++) {
System.out.println((i + 1) + ". " + movies.get(i));
}
}
}
public List<Movie> searchByTitle(String keyword) {
List<Movie> result = new ArrayList<>();
for (Movie m : movies) {
if (m.getTitle().toLowerCase().contains(keyword.toLowerCase())) {
result.add(m);
}
}
return result;
}
public boolean deleteMovie(String title) {
Iterator<Movie> it = movies.iterator();
while (it.hasNext()) {
if (it.next().getTitle().equalsIgnoreCase(title)) {
it.remove();
return true;
}
}
return false;
}
public void saveToFile() {
try (PrintWriter out = new PrintWriter(FILE_NAME)) {
for (Movie m : movies) {
out.println(m.getTitle() + "," + m.getDirector() + "," + m.getYear() + "," + m.getRating());
}
System.out.println("数据已保存到 " + FILE_NAME);
} catch (Exception e) {
System.out.println("保存失败:" + e.getMessage());
}
}
public void loadFromFile() {
File file = new File(FILE_NAME);
if (!file.exists()) return;
try (Scanner scanner = new Scanner(file)) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] parts = line.split(",");
if (parts.length == 4) {
String title = parts[0];
String director = parts[1];
int year = Integer.parseInt(parts[2]);
double rating = Double.parseDouble(parts[3]);
movies.add(new Movie(title, director, year, rating));
}
}
System.out.println("已从 " + FILE_NAME + " 加载 " + movies.size() + " 部电影。");
} catch (Exception e) {
System.out.println("读取数据失败:" + e.getMessage());
}
}}
立即学习“Java免费学习笔记(深入)”;
使用Scanner接收用户输入,提供菜单式交互。
import java.util.Scanner;
<p>public class MovieCollectionApp {
public static void main(String[] args) {
MovieManager manager = new MovieManager();
Scanner input = new Scanner(System.in);
manager.loadFromFile(); // 启动时加载数据</p><pre class='brush:java;toolbar:false;'> while (true) {
System.out.println("\n=== 电影收藏管理系统 ===");
System.out.println("1. 添加电影");
System.out.println("2. 查看所有电影");
System.out.println("3. 搜索电影");
System.out.println("4. 删除电影");
System.out.println("5. 保存并退出");
System.out.print("请选择操作:");
int choice = input.nextInt();
input.nextLine(); // 消费换行符
switch (choice) {
case 1:
System.out.print("片名:"); String title = input.nextLine();
System.out.print("导演:"); String director = input.nextLine();
System.out.print("年份:"); int year = input.nextInt();
System.out.print("评分(0-10):"); double rating = input.nextDouble();
input.nextLine();
manager.addMovie(new Movie(title, director, year, rating));
System.out.println("电影已添加!");
break;
case 2:
manager.viewAllMovies();
break;
case 3:
System.out.print("请输入片名关键词:");
String keyword = input.nextLine();
List<Movie> results = manager.searchByTitle(keyword);
if (results.isEmpty()) {
System.out.println("未找到相关电影。");
} else {
System.out.println("找到 " + results.size() + " 部电影:");
for (Movie m : results) {
System.out.println(" - " + m);
}
}
break;
case 4:
System.out.print("请输入要删除的电影名称:");
String delTitle = input.nextLine();
if (manager.deleteMovie(delTitle)) {
System.out.println("删除成功!");
} else {
System.out.println("未找到该电影!");
}
break;
case 5:
manager.saveToFile();
System.out.println("再见!");
input.close();
return;
default:
System.out.println("无效选择,请重试。");
}
}
}}
立即学习“Java免费学习笔记(深入)”;
基本上就这些。运行程序后,你会看到一个简单的命令行菜单,可以添加、查看、搜索和删除电影,关闭时自动保存到movies.txt文件中,下次启动会自动加载。
这个系统虽然简单,但涵盖了面向对象编程、集合操作、文件读写和用户交互等Java基础知识点,是很好的入门项目。后续可扩展功能如按评分排序、分类标签、图形界面(Swing/JavaFX)等。
以上就是Java如何开发一个简易的电影收藏管理系统的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号