简易电影评分系统用Java实现,包含Movie类存储电影信息和评分,MovieRatingSystem类管理电影增删查改,Main类提供控制台交互,支持添加电影、用户评分、查看评分和列出所有电影,适合初学者练习面向对象编程与集合操作。

开发一个简易的电影评分系统可以用Java实现基础的数据管理、用户评分和评分统计功能。这个系统不需要数据库或前端界面,先从控制台版本入手,适合初学者练习面向对象编程和集合操作。
1. 系统功能设计
简易电影评分系统应具备以下核心功能:
添加电影:管理员可添加新电影用户评分:用户对已有电影打分(1-5分)查看评分:显示每部电影的平均分和评分人数列出所有电影:展示当前系统中的电影列表
2. 核心类设计
使用三个主要类来组织代码:
Movie 类
立即学习“Java免费学习笔记(深入)”;
表示一部电影,包含名称、评分列表和计算平均分的方法。
public class Movie { private String title; private List ratings;public Movie(String title) { this.title = title; this.ratings = new ArrayList();}public void addRating(int score) { if (score >= 1 && score <= 5) { ratings.add(score); } else { System.out.println("评分必须在1到5之间!"); }}public double getAverageRating() { return ratings.isEmpty() ? 0.0 : ratings.stream().mapToInt(Integer::intValue).average().orElse(0.0);}public int getRatingCount() { return ratings.size();}public String getTitle() { return title;}@Overridepublic String toString() { return "《" + title + "》 平均分:" + String.format("%.1f", getAverageRating()) + " (" + getRatingCount() + "人评分)";}
}
MovieRatingSystem 类
管理系统中的电影集合,提供操作接口。
东盟商机最新AC版As2007 SP1
AS系统本次的主要更新和新开发的功能如下(暂不详述): 1、修复了普及版的一些大大小小的BUG 2、重新规划整个后台,使后台更加个性化、智能化、更加易用 3、重写了广告部分模块,使其更加专业化 4、重写了文章采集模块,添加了定时自动采集功能 5、添加了供求信息采集功能 6、重写了友情连接功能(原来的太简单了) 8、重写了生成HTML模块。(几个主要模块首页不用原来的生成方式,不再会被卡巴斯机杀毒软
0 查看详情
import java.util.*;public class MovieRatingSystem {private List movies;
public MovieRatingSystem() { this.movies = new ArrayList();}public void addMovie(String title) { if (findMovie(title) == null) { movies.add(new Movie(title)); System.out.println("电影《" + title + "》已添加。"); } else { System.out.println("电影已存在!"); }}public void rateMovie(String title, int score) { Movie movie = findMovie(title); if (movie != null) { movie.addRating(score); System.out.println("你给《" + title + "》打了 " + score + " 分!"); } else { System.out.println("未找到该电影!"); }}public void listMovies() { if (movies.isEmpty()) { System.out.println("暂无电影。"); } else { System.out.println("n--- 电影评分列表 ---"); for (Movie movie : movies) { System.out.println(movie); } }}private Movie findMovie(String title) { for (Movie movie : movies) { if (movie.getTitle().equalsIgnoreCase(title)) { return movie; } } return null;}
}
Main 类(程序入口)
提供控制台交互界面。
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);MovieRatingSystem system = new MovieRatingSystem();
while (true) { System.out.println("n=== 电影评分系统 ==="); System.out.println("1. 添加电影"); System.out.println("2. 评分电影"); System.out.println("3. 查看所有电影"); System.out.println("4. 退出"); System.out.print("请选择操作:"); int choice = scanner.nextInt(); scanner.nextLine(); // 消费换行 switch (choice) { case 1: System.out.print("输入电影名称:"); String title = scanner.nextLine(); system.addMovie(title); break; case 2: System.out.print("输入电影名称:"); String name = scanner.nextLine(); System.out.print("输入评分(1-5):"); int score = scanner.nextInt(); system.rateMovie(name, score); break; case 3: system.listMovies(); break; case 4: System.out.println("再见!"); scanner.close(); return; default: System.out.println("无效选择!"); } }}
}
3. 运行示例
运行程序后,用户可在控制台进行如下操作:
=== 电影评分系统 ===1. 添加电影2. 评分电影3. 查看所有电影4. 退出请选择操作:1输入电影名称:肖申克的救赎电影《肖申克的救赎》已添加。请选择操作:2输入电影名称:肖申克的救赎输入评分(1-5):5你给《肖申克的救赎》打了 5 分!
请选择操作:3
--- 电影评分列表 ---《肖申克的救赎》 平均分:5.0 (1人评分)
4. 后续扩展建议
此为基础版本,后续可逐步增强:
加入用户类,记录谁评了分使用HashMap优化电影查找速度保存数据到文件(如JSON或CSV)升级为Web应用(Spring Boot + Thymeleaf)增加评分修改、删除功能
基本上就这些。不复杂但容易忽略细节,比如输入验证和对象查找逻辑。掌握这个小项目后,对Java的类设计和集合运用会更熟练。
以上就是Java如何开发一个简易的电影评分系统的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1037972.html
微信扫一扫
支付宝扫一扫