Java 综合项目实战(电影购票系统)
Java 综合项目实战(电影购票系统)
目录
一.阶段项目实战
1.电影购票系统简介、项目功能演示
2.日志框架搭建、系统角色分析
3.首页设计、登录、商家界面、用户界面实现
4.商家-详情页设计、影片上架、退出
5.商家-影片下架、影片修改
6.用户-展示全部影片
7.用户-购票功能 用户-评分功能
8.用户-评分降序展示(学生作业)
Movie类:
package com.wjh.bean;
import java.util.Date;
/*
电影类
*/
public class Movie {
private String name;
private String actor;
private double score;
private double time;
private double price;
private int number; //余票
private Date startTime; //放映时间
public Movie() {
}
public Movie(String name, String actor, double time, double price, int number, Date startTime) {
this.name = name;
this.actor = actor;
//this.score = score;
this.time = time;
this.price = price;
this.number = number;
this.startTime = startTime;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public double getTime() {
return time;
}
public void setTime(double time) {
this.time = time;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
@Override
public String toString() {
return "Movie{" +
"name='" + name + '\'' +
", actor='" + actor + '\'' +
", score=" + score +
", time=" + time +
", price=" + price +
", number=" + number +
", startTime=" + startTime +
'}';
}
}
User类:
package com.wjh.bean;
/*
用户类:客户和商家的父类
*/
public class User {
private String loginName; //假名(网名)
private String userName; //真名
private String password; //密码
private char sex;
private String phone;
private double money;
public User() {
}
public User(String loginName, String userName, String password, char sex, String phone, double money) {
this.loginName = loginName;
this.userName = userName;
this.password = password;
this.sex = sex;
this.phone = phone;
this.money = money;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
@Override
public String toString() {
return "User{" +
"loginName='" + loginName + '\'' +
", userName='" + userName + '\'' +
", password='" + password + '\'' +
", sex=" + sex +
", phone='" + phone + '\'' +
", money=" + money +
'}';
}
}
商家类:
package com.wjh.bean;
/*
商家类:继承User类
*/
public class Business extends User{
//独有属性:
private String shopName; //店铺名称
private String address; //店铺地址
//子类也推荐有参无参构造器!方便测试数据使用
public Business(String loginName, String userName, String password, char sex, String phone, double money) {
super(loginName, userName, password, sex, phone, money);
}
public Business(String loginName, String userName, String password, char sex, String phone, double money, String shopName, String address) {
super(loginName, userName, password, sex, phone, money);
this.shopName = shopName;
this.address = address;
}
public String getShopName() {
return shopName;
}
public void setShopName(String shopName) {
this.shopName = shopName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "Business{" +
"shopName='" + shopName + '\'' +
", address='" + address + '\'' +
'}';
}
}
客户类:
package com.wjh.bean;
/*
客户角色类(继承User)
*/
public class Customer extends User{
public Customer(String loginName, String userName, String password, char sex, String phone, double money) {
super(loginName, userName, password, sex, phone, money);
}
public Customer() {
}
@Override
public String toString() {
return super.toString();
}
}
测试类:
package com.wjh.run;
import com.wjh.bean.Business;
import com.wjh.bean.Customer;
import com.wjh.bean.Movie;
import com.wjh.bean.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class MovieSystem {
/*
定义系统的数据容器用户存储数据
1.存储用户(客户对象,商家对象)
*/
public static final List<User> ALL_USER = new ArrayList<>();
/*
2.存储系统全部商家和其他拍片信息
商家1 = [p1,p2,p3...]
商家2 = [p1,p2,p3...]
...
*/
public static final Map<Business, List<Movie>> ALL_MOVIES = new HashMap<>();
/*
3.准备一些测试数据 (静态代码块) :在系统运行前就准备好了
*/
static {
//客户数据
Customer c1 = new Customer("www", "王", "123456", '男', "10086", 150);
Customer c2 = new Customer("jjj", "力", "123456", '女', "1008611", 2000);
//将客户数据添加到ALL_User中
ALL_USER.add(c1);
ALL_USER.add(c2);
System.out.println("客户测试数据1:(\"www\", \"王\", \"123456\", '男', \"10086\", 150)");
System.out.println("客户测试数据2:(\"jjj\", \"力\", \"123456\", '女', \"1008611\", 2000)");
//商家数据
Business b1 = new Business("wdyy", "徐", "123456", '男', "110", 5000, "万达影院", "江西省南昌市");
Business b2 = new Business("nmys", "坤", "123456", '女', "120", 6000, "柠檬影视", "上海市静安区");
//将商家数据添加到ALL_User中
ALL_USER.add(b1);
ALL_USER.add(b2);
System.out.println("商家测试数据1:(\"wdyy\", \"徐\", \"123456\", '男', \"110\", 5000, \"万达影院\",\"江西省南昌市\")");
System.out.println("商家测试数据2:(\"nmys\", \"坤\", \"123456\", '女', \"120\", 6000, \"柠檬影视\",\"上海市静安区\")");
//注意:商家一定要加入到店铺拍片信息中去;因为上面用了Map集合,商家担任了键值对中的键 Map<Business, List<Movie>>
List<Movie> movies1 = new ArrayList<>(); //创建万达影视电影集合
ALL_MOVIES.put(b1, movies1);
List<Movie> movies2 = new ArrayList<>(); //创建柠檬影视城电影集合
ALL_MOVIES.put(b2, movies2);
}
/*
定义一个静态常量扫描器;在静态代码块定义的好处是降低重复代码
*/
private static final Scanner SYS_SC = new Scanner(System.in);
public static void main(String[] args) {
showMain();
}
//定义一个静态的User类型的变量,记住当前登录成功的用户对象
public static User LoginUser;
//定义日期格式化对象
public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static final Logger LOGGER = LoggerFactory.getLogger("MovieSystem.class");
/**
* 首页展示
*/
private static void showMain() {
while (true) {
System.out.println("==========欢迎来到iKUN电影==========");
System.out.println("1.登录");
System.out.println("2.用户注册");
System.out.println("3.商家注册");
System.out.println("=================================");
System.out.println("请输入操作命令:");
String command = SYS_SC.nextLine(); //nextLine() : 扫描任何类型的数据类型;避免输错出现异常
switch (command) {
case "1":
case "登录":
//登录了
login();
break;
case "2":
case "用户注册":
//用户注册了
break;
case "3":
case "商家注册":
//商家注册了
break;
default:
System.out.println("输入的命令有误,请重新输入!");
}
}
}
/**
* 登录模块
*/
private static void login() {
while (true) {
System.out.println("==========登录==========");
System.out.println("请输入登录名称:");
String loginName = SYS_SC.nextLine();
System.out.println("请输入登录密码:");
String password = SYS_SC.nextLine();
//1.根据登录名查询用户对象(有客户和商家同时使用,所以独立成方法)
User u = getUserByLoginName(loginName);
//2.判断用户对象是否存在,存在则说明登录名称正确
if(u != null){
//3.比对密码是否正确
if (password.equals(u.getPassword())){
//密码校验成功,登录...
LoginUser = u; //登录成功!赋值给定义好的成功登录用户
LOGGER.info(u.getLoginName() + "登录了系统!");
//如何判断是用户登录的还是商家登录的?
//答:判断这个账户的真实类型 instanceof
if(u instanceof Customer){
//这个用户是普通用户
showCustomerMain();
}else{
//这个用户是商家用户
showBusinessMain();
}
return; //退出当前方法体
}else {
System.out.println("密码有误,请重试!");
}
}else {
System.out.println("用户名有误,请重试!");
}
}
}
/**
* 商家操作界面
*/
private static void showBusinessMain() {
System.out.println("==========iKUN电影商家页面==========");
//LOGGER.info(LoginUser.getUserName() + "商家登录了系统!");
while (true) {
System.out.println("尊敬的" + LoginUser.getUserName() + (LoginUser.getSex() == '男' ? "先生" : "女士") + "欢迎来到猫眼电影!");
System.out.println("1.展示影片");
System.out.println("2.上架电影");
System.out.println("3.下架电影");
System.out.println("4.修改电影");
System.out.println("5.退出");
System.out.println("输入命令:");
String command = SYS_SC.nextLine();
switch (command){
case "1":
//展示影片
showBusinessInfos();
break;
case "2":
//上架电影
addMovie();
break;
case "3":
//下架电影
deleteMovie();
break;
case "4":
//修改电影
updateMovie();
break;
case "5":
System.out.println("退出成功!");
return;
default:
System.out.println("输入的命令有误,请重试!");
break;
}
}
}
/**
* 商家下架电影
*/
private static void deleteMovie() {
System.out.println("==========商家下架电影==========");
Business business = (Business) LoginUser;
List<Movie> movies = ALL_MOVIES.get(business);
if(movies.size() == 0){
System.out.println("当前没有电影可下架!");
return;
}
//2.让商家选择需要下架的电影名称
while (true) {
System.out.println("请输入下架的电影名:");
String name = SYS_SC.nextLine();
//3.去查询有没有这部影片对象()
Movie movie = getMovieByName(name);
if (movie != null){
movies.remove(movie);
System.out.println("<<" + movie.getName() + ">>" +"下架成功!");
showBusinessInfos();
return;
}else{
System.out.println("没有该电影!");
System.out.println("请问要继续吗?y/n");
String command = SYS_SC.nextLine();
switch (command){
case "y":
case "Y":
break;
default:
System.out.println("好的!");
return;
}
System.out.println();
}
}
}
public static Movie getMovieByName(String movieName){
Business business = (Business) LoginUser;
List<Movie> movies = ALL_MOVIES.get(business);
for (Movie movie: movies) {
//contains 模糊匹配 判断 movie 有没有包含 movieName 比如 : 输入<<青春>> 匹配到 <<我的青春>>
if(movie.getName().equals(movieName)){
return movie;
}
}
return null;
}
/**
* 商家修改电影
*/
private static void updateMovie() {
System.out.println("==========商家修改电影==========");
Business business = (Business) LoginUser;
List<Movie> movies = ALL_MOVIES.get(business);
if(movies.size() == 0){
System.out.println("当前没有电影可修改!");
return;
}
//2.让商家选择需要下架的电影名称
while (true) {
System.out.println("请输入修改的电影名:");
String name = SYS_SC.nextLine();
//3.去查询有没有这部影片对象()
Movie movie = getMovieByName(name);
if (movie != null){
//开始修改
System.out.println("请输入修改后的片名:");
String updateName = SYS_SC.nextLine();
System.out.println("请输入修改后的主演:");
String actor = SYS_SC.nextLine();
System.out.println("请输入修改后的时长:");
String time = SYS_SC.nextLine();
System.out.println("请输入修改后的票价:");
String price = SYS_SC.nextLine();
System.out.println("请输入修改后的票数:");
String number = SYS_SC.nextLine();
while (true) {
try {
System.out.println("请输入修改后的放映时间:");
String startTime = SYS_SC.nextLine();
//public Movie(String name, String actor, double time, double price, int number, Date startTime) {
movie.setName(updateName);
movie.setActor(actor);
movie.setTime(Double.valueOf(time));
movie.setPrice(Double.valueOf(price));
movie.setNumber(Integer.valueOf(number));
movie.setStartTime(sdf.parse(startTime));
System.out.println("<<" + movie.getName() + ">>" +"修改成功!");
showBusinessInfos();
return; //结束当前方法
} catch (ParseException e) {
e.printStackTrace();
LOGGER.error("时间解析异常");
}
}
}else{
System.out.println("没有该电影!");
System.out.println("请问要继续修改吗?y/n");
String command = SYS_SC.nextLine();
switch (command){
case "y":
case "Y":
break;
default:
System.out.println("好的!");
return;
}
System.out.println();
}
}
}
/**
* 商家上架电影
* Map<Business, List<Movie>> ALL_MOVIES
* u1 = [p1,p2,p3...]
* u2 = [p1,p2,p3...]
*/
private static void addMovie() {
Business business = (Business) LoginUser;
List<Movie> movies = ALL_MOVIES.get(business);
System.out.println("请输入新的片名:");
String name = SYS_SC.nextLine();
System.out.println("请输入新的主演:");
String actor = SYS_SC.nextLine();
System.out.println("请输入新的时长:");
String time = SYS_SC.nextLine();
System.out.println("请输入新的票价:");
String price = SYS_SC.nextLine();
System.out.println("请输入新的票数:");
String number = SYS_SC.nextLine();
while (true) {
try {
System.out.println("请输入新的放映时间:");
String startTime = SYS_SC.nextLine();
//public Movie(String name, String actor, double time, double price, int number, Date startTime) {
Movie movie = new Movie(name, actor, Double.valueOf(time), Double.valueOf(price), Integer.valueOf(number),sdf.parse(startTime));
movies.add(movie);
System.out.println("<<" + movie.getName() + ">>" + "上架成功...");
return; //结束当前方法
} catch (ParseException e) {
e.printStackTrace();
LOGGER.error("时间解析异常");
}
}
}
/**
* 展示商家详情信息:当前商家
*/
private static void showBusinessInfos() {
//根据商家对象(LoginUser登录的用户):作为Map集合的键,提取对应的值就是拍片信息: Map<Business, List<Movie>> ALL_MOVIES
Business business = (Business) LoginUser; //将User父类转换为Business子类类型
System.out.println("-------------------------------------------------------------------------");
System.out.println("店铺名称:" + business.getShopName() + "\t\t店铺地址:" + business.getAddress() + "\t\t店铺电话:" + business.getPhone() );
System.out.println("-------------------------------------------------------------------------");
List<Movie> movies = ALL_MOVIES.get(business);
if(movies.size() > 0){
for (Movie movie : movies) {
System.out.print("\t\t片名:" + "<<" + movie.getName() + ">>");
System.out.print("\t\t主演:" + movie.getActor());
System.out.print("\t\t时长:" + movie.getTime());
System.out.print("\t\t评分:" + movie.getScore());
System.out.print("\t\t票价:" + movie.getPrice());
System.out.print("\t\t余票:" + movie.getNumber());
System.out.print("\t\t放映:" + sdf.format(movie.getStartTime()));
System.out.println();
}
}else{
System.out.println("当前没有电影放映!");
}
}
/**
* 客户操作界面
*/
private static void showCustomerMain() {
System.out.println("==========iKUN电影客户页面==========");
System.out.println("尊敬的" + LoginUser.getUserName() + (LoginUser.getSex() == '男' ? "先生" : "女士") + "欢迎来到猫眼电影!");
System.out.println("1.全部影片");
System.out.println("2.查询影片");
System.out.println("3.点评功能");
System.out.println("4.购票功能");
System.out.println("5.退出系统");
while (true) {
System.out.println("请输入命令:");
String command = SYS_SC.nextLine();
switch (command){
case "1":
//全部影片
showAllMovies();
break;
case "2":
//查询影片
showAllMovies();
break;
case "3":
//点评功能
break;
case "4":
//购票功能
buyMovie();
break;
case "5":
//退出系统
System.out.println("退出成功!");
return; //结束当前方法
default:
System.out.println("输入的命令有误,请重试!");
break;
}
}
}
/**
* 客户购买电影票 ALL_MOVIES
*/
private static void buyMovie() {
showAllMovies();
System.out.println("==========iKun影视购票==========");
while (true) {
System.out.println("请您输入购票的门店:");
String shopName = SYS_SC.nextLine();
//1.查询是否存在该商家.
Business business = getUserByShopName(shopName);
if (business == null){
System.out.println("没搜索到该店铺!");
}else {
//2.此商家的全部排片信息
List<Movie> movies = ALL_MOVIES.get(business);
//3.判断是否存在上映的电影
if(movies.size() > 0){
//4.开始进行选片
while (true) {
System.out.println("请您输入需要购买的电影名称:");
String movieName = SYS_SC.nextLine();
//5.去当前商家下,查询该电影对象
Movie movie = getUserByMovieName(business, movieName);
if(movie != null){
//6.开始购票!
while (true) {
System.out.println("请您输入需要购买的票数量:");
String number = SYS_SC.nextLine();
int buyNumber = Integer.valueOf(number);
//判断电影是否购票
if(movie.getNumber() >= buyNumber) {
//可以购买了
//当前需要花费的金额
double money = BigDecimal.valueOf(movie.getPrice()).multiply(BigDecimal.valueOf(buyNumber))
.doubleValue(); //不精确所以要用BigDecimal
if (LoginUser.getMoney() >= money) {
//终于可以买了
System.out.println("您成功购买了," + movie.getName() + "共" + buyNumber + "张");
//更新自己的金额
LoginUser.setMoney(LoginUser.getMoney() - money);
//更新商家的金额
business.setMoney(business.getMoney() + money);
//更新票数
movie.setNumber(movie.getNumber() - buyNumber);
return;
}else{
//钱不够了
System.out.println("余额不足!");
System.out.println("请问需要继续吗?y/n");
String command = SYS_SC.nextLine();
switch (command){
case "y" :
case "Y" :
break;
default:
System.out.println("退出成功!");
return;
}
}
}else{
System.out.println("当前购买票数不足!当前最多可购买数量/张:" + movie.getNumber());
System.out.println("请问需要继续吗?y/n");
String command = SYS_SC.nextLine();
switch (command){
case "y" :
case "Y" :
break;
default:
System.out.println("退出成功!");
return;
}
}
}
}else{
System.out.println("影片不存在!");
System.out.println("请问需要继续吗?y/n");
String command = SYS_SC.nextLine();
switch (command){
case "y" :
case "Y" :
break;
default:
System.out.println("退出成功!");
return;
}
}
}
}else{
System.out.println("该店铺歇业或暂停服务!");
System.out.println("请问需要继续吗?y/n");
String command = SYS_SC.nextLine();
switch (command){
case "y" :
case "Y" :
break;
default:
System.out.println("退出成功!");
return;
}
}
}
}
}
/**
* 客户购票查询是否存在该电影对象
* @param business
*/
private static Movie getUserByMovieName(Business business, String movieName) {
List<Movie> movies = ALL_MOVIES.get(business);
for (Movie movie : movies) {
if(movie.getName().equals(movieName)){
return movie;
}
}
return null;
}
/**
* 根据商家店铺名称查询商家对象
* @return
*/
public static Business getUserByShopName(String shopName){
Set<Business> businesses = ALL_MOVIES.keySet();
for (Business business : businesses) {
if(business.getShopName().equals(shopName)){
return business;
}
}
return null;
}
/**
* 客户展示全部商家排片信息
*/
private static void showAllMovies() {
System.out.println("=================iKun影视栏目=================");
ALL_MOVIES.forEach((business, movies) -> {
System.out.println("-------------------------------------------------------------------------");
System.out.println("店铺名称:" + business.getShopName() + "\t\t店铺地址:" + business.getAddress() + "\t\t店铺电话:" + business.getPhone() );
System.out.println("-------------------------------------------------------------------------");
for (Movie movie : movies) {
System.out.print("\t\t片名:" + "<<" + movie.getName() + ">>");
System.out.print("\t\t主演:" + movie.getActor());
System.out.print("\t\t时长:" + movie.getTime());
System.out.print("\t\t评分:" + movie.getScore());
System.out.print("\t\t票价:" + movie.getPrice());
System.out.print("\t\t余票:" + movie.getNumber());
System.out.print("\t\t放映:" + sdf.format(movie.getStartTime()));
System.out.println();
}
});
}
/**
* 登录账户是否存在;存在但会 u(当前账户) 不存在返回 null
* @param loginName
* @return
*/
public static User getUserByLoginName(String loginName) {
for (User user : ALL_USER) {
//判断用户名是否是我们想要的
if (loginName.equals(user.getLoginName())) {
//用户名校验成功
return user;
}
}
return null; //查无此用户名
}
}
客户测试数据1:("www", "王", "123456", '男', "10086", 150)
客户测试数据2:("jjj", "力", "123456", '女', "1008611", 2000)
商家测试数据1:("wdyy", "徐", "123456", '男', "110", 5000, "万达影院","江西省南昌市")
商家测试数据2:("nmys", "坤", "123456", '女', "120", 6000, "柠檬影视","上海市静安区")
==========欢迎来到iKUN电影==========
1.登录
2.用户注册
3.商家注册
=================================
请输入操作命令:
1
==========登录==========
请输入登录名称:
wdyy
请输入登录密码:
123456
2023-05-09 15:41:24.422 [INFO ] MovieSystem.class [main] : wdyy登录了系统!
==========iKUN电影商家页面==========
尊敬的徐先生欢迎来到猫眼电影!
1.展示影片
2.上架电影
3.下架电影
4.修改电影
5.退出
输入命令:
5
退出成功!
==========欢迎来到iKUN电影==========
1.登录
2.用户注册
3.商家注册
=================================
请输入操作命令:
www
输入的命令有误,请重新输入!
==========欢迎来到iKUN电影==========
1.登录
2.用户注册
3.商家注册
=================================
请输入操作命令:
123456
输入的命令有误,请重新输入!
==========欢迎来到iKUN电影==========
1.登录
2.用户注册
3.商家注册
=================================
请输入操作命令:
1
==========登录==========
请输入登录名称:
www
请输入登录密码:密码有误,请重试!
==========登录==========
请输入登录名称:
1
请输入登录密码:用户名有误,请重试!
==========登录==========
请输入登录名称:
www
请输入登录密码:
123456
2023-05-09 15:41:55.186 [INFO ] MovieSystem.class [main] : www登录了系统!
==========iKUN电影客户页面==========
尊敬的王先生欢迎来到猫眼电影!
1.全部影片
2.查询影片
3.点评功能
4.购票功能
5.退出系统
请输入命令:
4
=================iKun影视栏目=================
-------------------------------------------------------------------------
店铺名称:柠檬影视 店铺地址:上海市静安区 店铺电话:120
-------------------------------------------------------------------------
-------------------------------------------------------------------------
店铺名称:万达影院 店铺地址:江西省南昌市 店铺电话:110
-------------------------------------------------------------------------
==========iKun影视购票==========
请您输入购票的门店:
dsda
没搜索到该店铺!
请您输入购票的门店:
万达影院
该店铺歇业或暂停服务!
请问需要继续吗?y/n
y
请您输入购票的门店:
柠檬影视
该店铺歇业或暂停服务!
请问需要继续吗?y/n
n
退出成功!
请输入命令:
1
=================iKun影视栏目=================
-------------------------------------------------------------------------
店铺名称:柠檬影视 店铺地址:上海市静安区 店铺电话:120
-------------------------------------------------------------------------
-------------------------------------------------------------------------
店铺名称:万达影院 店铺地址:江西省南昌市 店铺电话:110
-------------------------------------------------------------------------
请输入命令:
2
请输入命令:
2
请输入命令:
n
输入的命令有误,请重试!
请输入命令:
5
退出成功!
==========欢迎来到iKUN电影==========
1.登录
2.用户注册
3.商家注册
=================================
请输入操作命令:
1
==========登录==========
请输入登录名称:
wdyy
请输入登录密码:
123456
2023-05-09 15:43:14.842 [INFO ] MovieSystem.class [main] : wdyy登录了系统!
==========iKUN电影商家页面==========
尊敬的徐先生欢迎来到猫眼电影!
1.展示影片
2.上架电影
3.下架电影
4.修改电影
5.退出
输入命令:
2
请输入新的片名:
123
请输入新的主演:
111
请输入新的时长:
200
请输入新的票价:
120
请输入新的票数:
1000
请输入新的放映时间:
2023-05-09 12:00:00
<<123>>上架成功...
尊敬的徐先生欢迎来到猫眼电影!
1.展示影片
2.上架电影
3.下架电影
4.修改电影
5.退出
输入命令:
1
-------------------------------------------------------------------------
店铺名称:万达影院 店铺地址:江西省南昌市 店铺电话:110
-------------------------------------------------------------------------
片名:<<123>> 主演:111 时长:200.0 评分:0.0 票价:120.0 余票:1000 放映:2023-05-09 12:00:00
尊敬的徐先生欢迎来到猫眼电影!
1.展示影片
2.上架电影
3.下架电影
4.修改电影
5.退出
输入命令:
5
退出成功!
==========欢迎来到iKUN电影==========
1.登录
2.用户注册
3.商家注册
=================================
请输入操作命令:
www
输入的命令有误,请重新输入!
==========欢迎来到iKUN电影==========
1.登录
2.用户注册
3.商家注册
=================================
请输入操作命令:
123456
输入的命令有误,请重新输入!
==========欢迎来到iKUN电影==========
1.登录
2.用户注册
3.商家注册
=================================
请输入操作命令:
1
==========登录==========
请输入登录名称:
www
请输入登录密码:
123456
2023-05-09 15:44:32.322 [INFO ] MovieSystem.class [main] : www登录了系统!
==========iKUN电影客户页面==========
尊敬的王先生欢迎来到猫眼电影!
1.全部影片
2.查询影片
3.点评功能
4.购票功能
5.退出系统
请输入命令:
1
=================iKun影视栏目=================
-------------------------------------------------------------------------
店铺名称:柠檬影视 店铺地址:上海市静安区 店铺电话:120
-------------------------------------------------------------------------
-------------------------------------------------------------------------
店铺名称:万达影院 店铺地址:江西省南昌市 店铺电话:110
-------------------------------------------------------------------------
片名:<<123>> 主演:111 时长:200.0 评分:0.0 票价:120.0 余票:1000 放映:2023-05-09 12:00:00
请输入命令:
万达影院
输入的命令有误,请重试!
请输入命令:
1
=================iKun影视栏目=================
-------------------------------------------------------------------------
店铺名称:柠檬影视 店铺地址:上海市静安区 店铺电话:120
-------------------------------------------------------------------------
-------------------------------------------------------------------------
店铺名称:万达影院 店铺地址:江西省南昌市 店铺电话:110
-------------------------------------------------------------------------
片名:<<123>> 主演:111 时长:200.0 评分:0.0 票价:120.0 余票:1000 放映:2023-05-09 12:00:00
请输入命令:
4
=================iKun影视栏目=================
-------------------------------------------------------------------------
店铺名称:柠檬影视 店铺地址:上海市静安区 店铺电话:120
-------------------------------------------------------------------------
-------------------------------------------------------------------------
店铺名称:万达影院 店铺地址:江西省南昌市 店铺电话:110
-------------------------------------------------------------------------
片名:<<123>> 主演:111 时长:200.0 评分:0.0 票价:120.0 余票:1000 放映:2023-05-09 12:00:00
==========iKun影视购票==========
请您输入购票的门店:
万达影院
请您输入需要购买的电影名称:
123
请您输入需要购买的票数量:
100
余额不足!
请问需要继续吗?y/n
y
请您输入需要购买的票数量:
50
余额不足!
请问需要继续吗?y/n
y
请您输入需要购买的票数量:
10
余额不足!
请问需要继续吗?y/n
y
请您输入需要购买的票数量:
1
您成功购买了,123共1张
请输入命令:
5
退出成功!
==========欢迎来到iKUN电影==========
1.登录
2.用户注册
3.商家注册
=================================
请输入操作命令:
1
==========登录==========
请输入登录名称:
wdyy
请输入登录密码:
123456
2023-05-09 15:46:30.795 [INFO ] MovieSystem.class [main] : wdyy登录了系统!
==========iKUN电影商家页面==========
尊敬的徐先生欢迎来到猫眼电影!
1.展示影片
2.上架电影
3.下架电影
4.修改电影
5.退出
输入命令:
1
-------------------------------------------------------------------------
店铺名称:万达影院 店铺地址:江西省南昌市 店铺电话:110
-------------------------------------------------------------------------
片名:<<123>> 主演:111 时长:200.0 评分:0.0 票价:120.0 余票:999 放映:2023-05-09 12:00:00
尊敬的徐先生欢迎来到猫眼电影!
1.展示影片
2.上架电影
3.下架电影
4.修改电影
5.退出
输入命令:
9.用户-根据片名查询全部影片信息(学生作业)
更多推荐
所有评论(0)