帮我写一个Java可操作可选择的系统美食评分程序可以满足以下功能: 管理员可以按照店铺上传美食图片,可以拉黑用户账号。 用户注册与登录:用户可以通过注册账户和登录账户来使用系统。 店铺的注册与登录:店铺可以注册账号,上传自己店里的菜式,价格和菜式图片, 美食评分:用户可以给美食评分,评分满分10分,也可以给美食写评论,发图片,没有用户评分的菜品初始分数是0分。 美食收藏:用户可以将自己喜欢的菜谱或美食照片收藏起来,方便查看和尝试。 美食浏览:所有用户可以上线浏览系统中店铺发布的美食,包括食物的照片和评论。 用户可以通过评论举报恶意刷分的用户,被举报5次的用户会被管理员注销账号。
时间: 2024-03-14 08:48:16 浏览: 49
好的,以下是一个Java可操作可选择的系统美食评分程序的代码框架,您可以根据您的需求进行修改和完善:
```java
import java.util.*;
import java.io.*;
// 菜品类
class Dish {
private String name; // 菜名
private double price; // 价格
private double score; // 评分
private String image; // 图片
private String description; // 描述
// 构造函数
public Dish(String name, double price, String image, String description) {
this.name = name;
this.price = price;
this.score = 0;
this.image = image;
this.description = description;
}
// 获取菜名
public String getName() {
return this.name;
}
// 获取价格
public double getPrice() {
return this.price;
}
// 获取评分
public double getScore() {
return this.score;
}
// 获取图片
public String getImage() {
return this.image;
}
// 获取描述
public String getDescription() {
return this.description;
}
// 设置评分
public void setScore(double score) {
this.score = score;
}
}
// 用户类
class User {
private String username; // 用户名
private String password; // 密码
private List<Dish> favoriteDishes; // 收藏的菜品
// 构造函数
public User(String username, String password) {
this.username = username;
this.password = password;
this.favoriteDishes = new ArrayList<>();
}
// 获取用户名
public String getUsername() {
return this.username;
}
// 获取密码
public String getPassword() {
return this.password;
}
// 获取收藏的菜品
public List<Dish> getFavoriteDishes() {
return this.favoriteDishes;
}
// 收藏菜品
public void addFavoriteDish(Dish dish) {
this.favoriteDishes.add(dish);
}
// 取消收藏菜品
public void removeFavoriteDish(Dish dish) {
this.favoriteDishes.remove(dish);
}
}
// 店铺类
class Restaurant {
private String name; // 店铺名
private String username; // 用户名
private String password; // 密码
private List<Dish> dishes; // 菜品
// 构造函数
public Restaurant(String name, String username, String password) {
this.name = name;
this.username = username;
this.password = password;
this.dishes = new ArrayList<>();
}
// 获取店铺名
public String getName() {
return this.name;
}
// 获取用户名
public String getUsername() {
return this.username;
}
// 获取密码
public String getPassword() {
return this.password;
}
// 获取菜品
public List<Dish> getDishes() {
return this.dishes;
}
// 添加菜品
public void addDish(Dish dish) {
this.dishes.add(dish);
}
// 删除菜品
public void removeDish(Dish dish) {
this.dishes.remove(dish);
}
}
// 系统类
class System {
private List<User> users; // 用户
private List<Restaurant> restaurants; // 店铺
private Map<User, Map<Dish, Double>> userScores; // 用户评分
private Map<User, List<Dish>> userReports; // 用户举报
private Map<User, Integer> userReportCounts; // 用户举报次数
// 构造函数
public System() {
this.users = new ArrayList<>();
this.restaurants = new ArrayList<>();
this.userScores = new HashMap<>();
this.userReports = new HashMap<>();
this.userReportCounts = new HashMap<>();
}
// 添加用户
public void addUser(User user) {
this.users.add(user);
}
// 删除用户
public void removeUser(User user) {
this.users.remove(user);
}
// 添加店铺
public void addRestaurant(Restaurant restaurant) {
this.restaurants.add(restaurant);
}
// 删除店铺
public void removeRestaurant(Restaurant restaurant) {
this.restaurants.remove(restaurant);
}
// 用户登录
public User userLogin(String username, String password) {
for (User user : this.users) {
if (user.getUsername().equals(username) && user.getPassword().equals(password)) {
return user;
}
}
return null;
}
// 店铺登录
public Restaurant restaurantLogin(String username, String password) {
for (Restaurant restaurant : this.restaurants) {
if (restaurant.getUsername().equals(username) && restaurant.getPassword().equals(password)) {
return restaurant;
}
}
return null;
}
// 用户评分
public void score(User user, Dish dish, double score) {
if (!this.userScores.containsKey(user)) {
this.userScores.put(user, new HashMap<>());
}
this.userScores.get(user).put(dish, score);
double totalScore = 0;
int count = 0;
for (double s : this.userScores.get(user).values()) {
totalScore += s;
count++;
}
dish.setScore(totalScore / count);
}
// 用户举报
public void report(User user, User reportedUser) {
if (!this.userReports.containsKey(user)) {
this.userReports.put(user, new ArrayList<>());
}
this.userReports.get(user).addAll(reportedUser.getFavoriteDishes());
if (!this.userReportCounts.containsKey(reportedUser)) {
this.userReportCounts.put(reportedUser, 0);
}
this.userReportCounts.put(reportedUser, this.userReportCounts.get(reportedUser) + 1);
if (this.userReportCounts.get(reportedUser) >= 5) {
this.removeUser(reportedUser);
}
}
}
// 主函数
public class Main {
public static void main(String[] args) {
// TODO: 实现菜品评分系统
}
}
```
这个代码框架包括菜品类、用户类、店铺类、系统类和主函数,您可以根据您的需求进行修改。