一、功能描述

电影购票系统简介、项目功能演示

日志框架搭建、系统角色分析

首页设计、登录、商家界面、用户界面实现

商家-详情页设计、影片上架、退出

商家-影片下架、影片修改

用户-展示全部影片

用户-购票功能 用户-评分功能

用户-评分降序展示

用户-根据片名查询全部影片信息

D:\Java\jre\bin\java.exe "-javaagent:D:\java\Intellij_IDEA\IntelliJ IDEA 2021.1.1\lib\idea_rt.jar=64025:D:\java\Intellij_IDEA\IntelliJ IDEA 2021.1.1\bin" -Dfile.encoding=UTF-8 -classpath D:\java\jre\jre\lib\charsets.jar;D:\java\jre\jre\lib\deploy.jar;D:\java\jre\jre\lib\ext\access-bridge-64.jar;D:\java\jre\jre\lib\ext\cldrdata.jar;D:\java\jre\jre\lib\ext\dnsns.jar;D:\java\jre\jre\lib\ext\jaccess.jar;D:\java\jre\jre\lib\ext\jfxrt.jar;D:\java\jre\jre\lib\ext\localedata.jar;D:\java\jre\jre\lib\ext\nashorn.jar;D:\java\jre\jre\lib\ext\sunec.jar;D:\java\jre\jre\lib\ext\sunjce_provider.jar;D:\java\jre\jre\lib\ext\sunmscapi.jar;D:\java\jre\jre\lib\ext\sunpkcs11.jar;D:\java\jre\jre\lib\ext\zipfs.jar;D:\java\jre\jre\lib\javaws.jar;D:\java\jre\jre\lib\jce.jar;D:\java\jre\jre\lib\jfr.jar;D:\java\jre\jre\lib\jfxswt.jar;D:\java\jre\jre\lib\jsse.jar;D:\java\jre\jre\lib\management-agent.jar;D:\java\jre\jre\lib\plugin.jar;D:\java\jre\jre\lib\resources.jar;D:\java\jre\jre\lib\rt.jar;D:\java\code\javase\out\production\Movie;D:\java\code\javase\Movie\lib\logback-classic-1.2.3.jar;D:\java\code\javase\Movie\lib\logback-core-1.2.3.jar;D:\java\code\javase\Movie\lib\slf4j-api-1.7.26.jar com.lou.run.movieSystem
=========电影首页=========
1、登录
2、用户注册
3、商家注册
4、退出系统
请输入操作命令:
2
=============================用户注册========================
请输入登录名称:
老白
请输入登录密码:
121
请再次输入登录密码:
121
请输入真实名称:
白展堂
请输入性别:
男
请输入电话:
12
请输入账户金额:
123
老白注册成功
=========电影首页=========
1、登录
2、用户注册
3、商家注册
4、退出系统
请输入操作命令:
1
请输入登录名称:
老白
请输入登录密码:
111
密码错误
请输入登录名称:
老白
请输入登录密码:
121
登录成功
白展堂女士欢迎您进入系统    余额:123.0
============电影客户界面===================
请您选择要操作的功能:
1、展示全部影片信息功能:
2、根据电影名称查询电影信息:
3、评分功能:
4、购票功能:
5、显示用户详细信息:
6、评分降序展示:
7、退出系统:
请输入您要操作的命令:
1
=============================展示全部商家排片信息========================
橘子国际影城      电话:110110        地址:火星6号2B二层
片名          主演          时长          评分          票价          余票数量            放映时间
东邪西毒        大环境     180.0       0.0         100.0           200         2022/05/18 12:00:00
==================================================================================
青苹果国际影城     电话:110110        地址:火星8号8B八层
片名          主演          时长          评分          票价          余票数量            放映时间
武林外传        白展堂     180.0       0.0         100.0           200         2022/05/18 18:00:00
==================================================================================
============电影客户界面===================
请您选择要操作的功能:
1、展示全部影片信息功能:
2、根据电影名称查询电影信息:
3、评分功能:
4、购票功能:
5、显示用户详细信息:
6、评分降序展示:
7、退出系统:
请输入您要操作的命令:
5
白展堂先生您好 余额:123.0
您还没有购买记录
============电影客户界面===================
请您选择要操作的功能:
1、展示全部影片信息功能:
2、根据电影名称查询电影信息:
3、评分功能:
4、购票功能:
5、显示用户详细信息:
6、评分降序展示:
7、退出系统:
请输入您要操作的命令:
6
还没有评分数据
============电影客户界面===================
请您选择要操作的功能:
1、展示全部影片信息功能:
2、根据电影名称查询电影信息:
3、评分功能:
4、购票功能:
5、显示用户详细信息:
6、评分降序展示:
7、退出系统:
请输入您要操作的命令:
4
=============================展示全部商家排片信息========================
橘子国际影城      电话:110110        地址:火星6号2B二层
片名          主演          时长          评分          票价          余票数量            放映时间
东邪西毒        大环境     180.0       0.0         100.0           200         2022/05/18 12:00:00
==================================================================================
青苹果国际影城     电话:110110        地址:火星8号8B八层
片名          主演          时长          评分          票价          余票数量            放映时间
武林外传        白展堂     180.0       0.0         100.0           200         2022/05/18 18:00:00
==================================================================================
=============================用户购票功能========================
请输入您想要买票的影城:
青苹果
请输入需要购买电影的名称:
武林
请您输入需要购买的票数:
12
您的钱不够
是否继续买票?(y/f):
y
请您输入需要购买的票数:
1
您成功购买了1张《武林外传》,花费了100.0元钱
============电影客户界面===================
请您选择要操作的功能:
1、展示全部影片信息功能:
2、根据电影名称查询电影信息:
3、评分功能:
4、购票功能:
5、显示用户详细信息:
6、评分降序展示:
7、退出系统:
请输入您要操作的命令:
5
白展堂先生您好 余额:23.0
您已经购买的电影为:
武林外传
============电影客户界面===================
请您选择要操作的功能:
1、展示全部影片信息功能:
2、根据电影名称查询电影信息:
3、评分功能:
4、购票功能:
5、显示用户详细信息:
6、评分降序展示:
7、退出系统:
请输入您要操作的命令:
3
请您对:武林外传进行打分(0-10):
5
=============================展示全部商家排片信息========================
橘子国际影城      电话:110110        地址:火星6号2B二层
片名          主演          时长          评分          票价          余票数量            放映时间
东邪西毒        大环境     180.0       0.0         100.0           200         2022/05/18 12:00:00
==================================================================================
青苹果国际影城     电话:110110        地址:火星8号8B八层
片名          主演          时长          评分          票价          余票数量            放映时间
武林外传        白展堂     180.0       0.0         100.0           199         2022/05/18 18:00:00
==================================================================================
============电影客户界面===================
请您选择要操作的功能:
1、展示全部影片信息功能:
2、根据电影名称查询电影信息:
3、评分功能:
4、购票功能:
5、显示用户详细信息:
6、评分降序展示:
7、退出系统:
请输入您要操作的命令:
6
武林外传        5.0
============电影客户界面===================
请您选择要操作的功能:
1、展示全部影片信息功能:
2、根据电影名称查询电影信息:
3、评分功能:
4、购票功能:
5、显示用户详细信息:
6、评分降序展示:
7、退出系统:
请输入您要操作的命令:
7

二、功能实现

1、系统角色类准备

集成日志框架、用于后期记录日志信息。

定义一个电影类Movie类,Movie类包含:片名、主演、评分、时长、票价、余票 系统包含2个用户角色:客户、商家。存在大量相同属性信息。

定义User类作为父类,属性:登录名称、密码、真实名称、性别、电话、账户金额

定义Business类代表商家角色,属性:店铺名称、地址。

定义Customer类代表客户角色,属性: 空

定义集合List<User>用户存放系统注册的用户对象信息。

定义集合Map<Business, List<Movie>>存放商家和其排片信息。

准备一些测试数据。

(1)定义一个电影类Movie类,Movie类包含:片名、主演、评分、时长、票价、余票

package com.lou.bean;import java.util.Date;/*** 定义一个电影类Movie类,Movie类包含:片名、主演、评分、时长、票价、余票*/
public class movie {private String name;private String actor;private double score;private double time;private double price;private int num;private Date startData;//放映时间public movie() {}@Overridepublic String toString() {return "movie{" +"name='" + name + '\'' +", actor='" + actor + '\'' +", score=" + score +", time=" + time +", price=" + price +", num=" + num +", startData=" + startData +'}';}public movie(String name, String actor, double score, double time, double price, int num, Date startData) {this.name = name;this.actor = actor;this.score = score;this.time = time;this.price = price;this.num = num;this.startData = startData;}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 getNum() {return num;}public void setNum(int num) {this.num = num;}public Date getStartData() {return startData;}public void setStartData(Date startData) {this.startData = startData;}
}

(2)定义User类作为父类,属性:登录名称、密码、真实名称、性别、电话、账户金额

package com.lou.bean;import java.io.InputStreamReader;/*** 定义User类作为父类,属性:登录名称、密码、真实名称、性别、电话、账户金额*/
public class User {private String loginName;private String password;private String userName;private char sex;private String phone;private double money;public User(String loginName, String password, String userName, char sex, String phone, double money) {this.loginName = loginName;this.password = password;this.userName = userName;this.sex = sex;this.phone = phone;this.money = money;}public User() {}public String getLoginName() {return loginName;}public void setLoginName(String loginName) {this.loginName = loginName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}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;}
}

(3)定义Business类代表商家角色,属性:店铺名称、地址。定义Customer类代表客户角色,属性: 空

package com.lou.bean;/*** 定义Business类代表商家角色,属性:店铺名称、地址。** 定义Customer类代表客户角色,属性: 空*/
public class Business extends User{//独有属性private String shopName;private String shopAddress;public String getShopName() {return shopName;}public void setShopName(String shopName) {this.shopName = shopName;}public String getShopAddress() {return shopAddress;}public void setShopAddress(String shopAddress) {this.shopAddress = shopAddress;}
}
package com.lou.bean;public class Custom extends User{}

(4)定义集合List<User>用户存放系统注册的用户对象信息。 定义集合Map<Business,List<Movie>>存放商家和其排片信息

    //定义集合List<User>用户存放系统注册的用户对象信息。public static final List<User>ALL_USERS=new ArrayList<>();//定义集合Map<Business, List<Movie>>存放商家和其排片信息。public static final Map<Business, List<movie>>ALL_MOVIE=new HashMap<>();

(5)准备一些测试数据(代码块)

 //准备一些测试数据。(代码块)static {Custom c = new Custom();c.setLoginName("备");c.setPassword("123456");c.setUserName("刘备");c.setSex('男');c.setMoney(10000);c.setPhone("110110");ALL_USERS.add(c);Custom c1 = new Custom();c1.setLoginName("羽");c1.setPassword("123456");c1.setUserName("羽");c1.setSex('女');c1.setMoney(2000);c1.setPhone("111111");ALL_USERS.add(c1);Business b = new Business();b.setLoginName("小猫");b.setPassword("123456");b.setUserName("小明");b.setMoney(0);b.setSex('男');b.setPhone("110110");b.setShopAddress("火星6号2B二层");b.setShopName("橘子国际影城");ALL_USERS.add(b);// 注意,商家一定需要加入到店铺排片信息中去List<movie> movies = new ArrayList<>();ALL_MOVIES.put(b , movies); // b = []Business b2 = new Business();b2.setLoginName("小狗");b2.setPassword("123456");b2.setUserName("小玲");b2.setMoney(0);b2.setSex('女');b2.setPhone("110110");b2.setShopAddress("火星8号8B八层");b2.setShopName("青苹果国际影城");ALL_USERS.add(b2);// 注意,商家一定需要加入到店铺排片信息中去List<movie> movies3 = new ArrayList<>();ALL_MOVIES.put(b2 , movies3); // b2 = []}

2、首页、登录、商家界面、用户界面实现

首页需要包含登录,商家入驻,客户注册功能。

商家和客户可以共用一个登录功能。

判断登录成功的用户的真实类型,根据用户类型完成对应的操作界面设计。

(1) 首页需要包含登录,商家入驻,客户注册功能

 /*** 首页*/private static void showMain() {System.out.println("=========电影首页=========");System.out.println("1、登录");System.out.println("2、用户注册");System.out.println("3、商家注册");System.out.println("请输入操作命令:");String command = SC.nextLine();while (true) {switch (command) {case "1":break;case "2":break;case "3":break;default:System.out.println("命令有误,请重新确认");}}}

(2)商家和客户可以共用一个登录功能

/*** 登录*/private static void login() {while (true) {System.out.println("请输入登录名称:");String loginName=SC.nextLine();System.out.println("请输入登录密码:");String loginPassword=SC.nextLine();//根据登录名称查询用户对象User user=getUserByLoginName(loginName);if(user!=null){//比对密码是否正确if(user.getPassword().equals(loginPassword)){System.out.println("登录成功");}else {System.out.println("密码错误");}}else {System.out.println("登录名称错误,请确认");}}}

(3)判断登录成功的用户的真实类型,根据用户类型完成对应的操作界面设计

                    if(user instanceof Custom){//普通用户showCustomer();}else {//商家用户showBusiness();}

3、商家功能-展示详情、影片上架、退出

展示本商家的信息和其排片情况。

提供影片上架功能:就是创建一个影片对象,存入到商家的集合中去。

退出,需要回到登录的首页。

提供影片下架功能:其实就是从商家的集合中删除影片对象。

影片修改功能:拿到需要修改的影片对象,修改里面的数据。

(1) 展示本商家的信息和其排片情况

    /*** 展示本商家的信息和其排片情况。*/private static void showBusinessInfos() {//根据商家对象,作为Map集合的键,提取对应的值就是排片信息//loginUser属于User类,要转为Business类才能访问到商家独有属性Business business=(Business)loginUser;System.out.println(business.getShopName()+"\t\t电话:"+business.getPhone()+"\t\t地址:"+business.getShopAddress());List<movie>movies=ALL_MOVIES.get(loginUser);if(movies.size()>0){System.out.println("片名\t\t\t主演\t\t\t时长\t\t\t评分\t\t\t票价\t\t\t余票数量\t\t\t放映时间");for(movie m:movies){System.out.println(m.getName()+"\t\t"+m.getActor()+"\t\t\t"+m.getTime()+"\t\t\t"+m.getScore()+"\t\t\t"+m.getPrice()+"\t\t\t"+m.getNum()+"\t\t\t"+sdf.format(m.getStartData()));}}else {System.out.println("当前影院无影片");}}

(2)提供影片上架功能:就是创建一个影片对象,存入到商家的集合中去

   /*** 提供影片上架功能:就是创建一个影片对象,存入到商家的集合中去*/private static void addMovie() {Business business = (Business) loginUser;List<movie> movies = ALL_MOVIES.get(loginUser);System.out.println("请您输入新片名:");String name = SC.nextLine();System.out.println("请您输入主演:");String actor = SC.nextLine();System.out.println("请您输入时长:");String time = SC.nextLine();System.out.println("请您输入票价:");String price = SC.nextLine();System.out.println("请您输入票数:");String totalNumber = SC.nextLine(); // 200\nwhile (true) {try {System.out.println("请您输入影片放映时间:");String stime = SC.nextLine();movie m = new movie(name, actor, Double.valueOf(time), Double.valueOf(price), Integer.valueOf(totalNumber), sdf.parse(stime));movies.add(m);System.out.println("您已经成功上架了:《" + m.getName() + "》");return; // 直接退出去}catch (ParseException e) {e.printStackTrace();logger.error("时间解析出了问题");}}}

(3)提供影片下架功能:其实就是从商家的集合中删除影片对象

    /*** 提供影片下架功能:其实就是从商家的集合中删除影片对象*/private static void deleteMovie() {Business business = (Business) loginUser;List<movie> movies = ALL_MOVIES.get(business);if (movies.size() == 0) {System.out.println("当前无影片可以下架");return;}System.out.println("输入要下架的电影名称:");String name = SC.nextLine();movie m = getMovieByName(name);if (m != null) {System.out.println("下架《"+m.getName()+"》成功");movies.remove(m);return;}System.out.println("没有找到这个名称的电影");}

(4)影片修改功能:拿到需要修改的影片对象,修改里面的数据

 /*** 影片修改功能:拿到需要修改的影片对象,修改里面的数据*/private static void updateMovie() {Business business = (Business) loginUser;List<movie> movies = ALL_MOVIES.get(business);if (movies.size() == 0) {System.out.println("当前无影片可以修改");return;}System.out.println("输入要修改的电影名称:");String filmName = SC.nextLine();movie m = getMovieByName(filmName);if (m != null) {System.out.println("是否要修改片名(y/f):");String command1 = SC.nextLine();if (command1.equals("y")) {System.out.println("请您输入新片名:");String name = SC.nextLine();m.setName(name);}System.out.println("是否要修改主演(y/f):");String command2 = SC.nextLine();if (command2.equals("y")) {System.out.println("请您输入主演:");String actor = SC.nextLine();m.setActor(actor);}System.out.println("是否要修改时长(y/f):");String command3 = SC.nextLine();if (command3.equals("y")) {System.out.println("请您输入时长:");String time = SC.nextLine();m.setTime(Double.valueOf(time));}System.out.println("是否要修改票价(y/f):");String command4 = SC.nextLine();if (command4.equals("y")) {System.out.println("请您输入票价:");String price = SC.nextLine();m.setPrice(Double.valueOf(price));}System.out.println("是否要修改票数(y/f):");String command5 = SC.nextLine();if (command5.equals("y")) {System.out.println("请您输入票数:");String totalNumber = SC.nextLine(); // 200\nm.setNum(Integer.valueOf(totalNumber));}System.out.println("是否要修改影片放映时间(y/f):");String command6 = SC.nextLine();if (command6.equals("y")) {while (true) {try {System.out.println("请您输入影片放映时间(2022/05/18 12:00:00):");String stime = SC.nextLine();m.setStartData(sdf.parse(stime));System.out.println("您已经成功修改了:《" + m.getName() + "》");showBusinessInfos();return; // 直接退出去} catch (ParseException e) {e.printStackTrace();logger.error("时间解析出了问题");}}}System.out.println("您已经成功修改了:《" + m.getName() + "》");showBusinessInfos();return;}System.out.println("没有找到这个名称的电影");}

4、用户功能

展示全部影片信息

购票操作

评分功能[拓展]

评分降序展示

根据片名查询全部影片信息

(1) 展示全部影片信息

  /*** 展示全部影片信息*/private static void showAllMovies() {System.out.println("=============================展示全部商家排片信息========================");ALL_MOVIES.forEach((business, movies) -> {System.out.println(business.getShopName() + "\t\t电话:" + business.getPhone() + "\t\t地址:" + business.getShopAddress());System.out.println("片名\t\t\t主演\t\t\t时长\t\t\t评分\t\t\t票价\t\t\t余票数量\t\t\t放映时间");for (movie m : movies) {System.out.println(m.getName() + "\t\t" + m.getActor() + "\t\t" + m.getTime() + "\t\t" + m.getScore() + "\t\t\t" +m.getPrice() + "\t\t\t" + m.getNum() + "\t\t\t" + sdf.format(m.getStartData()));}System.out.println("==================================================================================");});}

(2)购票操作

   /*** 用户购票功能*/private static void buyMovie() {showAllMovies();System.out.println("=============================用户购票功能========================");while (true) {System.out.println("请输入您想要买票的影城:");String shopName = SC.nextLine();//查询是否存在该商家Business business = getUserByShopName(shopName);if (business != null) {//此商家全部影片List<movie> movies = ALL_MOVIES.get(business);if (movies.size() > 0) {while (true) {System.out.println("请输入需要购买电影的名称:");String movieName=SC.nextLine();//在当前商家查询该电影对象movie m=getMovieByShopName(movieName,business);if(m!=null){while (true) {//开始购票System.out.println("请您输入需要购买的票数:");String movieNum=SC.nextLine();int buyNum=Integer.valueOf(movieNum);//判断电影票数是否足够if(m.getNum()>=buyNum){//当前需要花费的金额double money= BigDecimal.valueOf(m.getPrice()).multiply(BigDecimal.valueOf(buyNum)).doubleValue();if(loginUser.getMoney()>=money){System.out.println("您成功购买了"+buyNum+"张《"+m.getName()+"》,花费了"+money+"元钱");//更新客户和商家数据loginUser.setMoney(loginUser.getMoney()-money);m.setNum(m.getNum()-buyNum);business.setMoney(business.getMoney()+money);return;}else {System.out.println("您的钱不够");System.out.println("是否继续买票?(y/f):");String command = SC.nextLine();switch (command) {case "y":break;default:System.out.println("好的");return;}}}else {System.out.println("票数不够,您当前最多购买"+m.getNum()+"张");System.out.println("是否继续买票?(y/f):");String command = SC.nextLine();switch (command) {case "y":break;default:System.out.println("好的");return;}}}}else {System.out.println("该影城无该电影");}}} else {System.out.println("该影城无电影放映");System.out.println("是否继续买票?(y/f):");String command = SC.nextLine();switch (command) {case "y":break;default:System.out.println("好的");return;}}} else {System.out.println("对不起没有该影城");}}}

(3)评分功能[拓展]

   /*** 评分功能*/private static void scoreMovie() {// 1、查询当前登录成功的用户历史购买记录,看哪些电影是它可以评分的。Custom c = (Custom) loginUser;Map<String, Boolean> movies = c.getBuyMovies();if(movies.size() == 0 ){System.out.println("当前您没有看过电影,不能评价!");return;}// 买过了 ,看哪些电影是它可以评分的。movies.forEach((name, flag) -> {if(flag){System.out.println(name +"此电影已评价");}else {System.out.println("请您对:" + name +"进行打分(0-10):");double score = Double.valueOf(SC.nextLine());// 先根据电影名称拿到评分数据List<Double> scores = MOVIES_SCORE.get(name); // MOVIES_SCORE = [ 名称=[10] , ... ]if(scores == null){// 说明此电影是第一次评价scores = new ArrayList<>();scores.add(score);MOVIES_SCORE.put(name , scores);}else {scores.add(score);}movies.put(name, true);}});}

(4)评分降序展示

    /*** 评分降序展示*/private static void scoreSort() {if (MOVIES_SCORE.size() > 0) {List<Score> scores = new ArrayList<>();MOVIES_SCORE.forEach(new BiConsumer<String, List<Double>>() {@Overridepublic void accept(String s, List<Double> doubles) {List<Double> list = MOVIES_SCORE.get(s);double sum = 0;for (Double d : list) {sum = BigDecimal.valueOf(sum).add(BigDecimal.valueOf(d)).doubleValue();}scores.add(new Score(s, BigDecimal.valueOf(sum).divide(BigDecimal.valueOf(list.size())).doubleValue()));}});scores.sort((o1,  o2)->Double.compare(o2.getScore(),o1.getScore()));scores.forEach(score->System.out.println(score.getMovieName()+"\t\t"+score.getScore()));}else {System.out.println("还没有评分数据");}}

(5)根据片名查询全部影片信息

    public static void getInfoByMovieName() {System.out.println("请输入想要查询的电影名称:");String movieName=SC.nextLine();ALL_MOVIES.forEach((business, movies) -> {for (movie m : movies) {if(m.getName().equals(movieName)) {System.out.println("==================================================================================");System.out.println(business.getShopName() + "\t\t电话:" + business.getPhone() + "\t\t地址:" + business.getShopAddress());System.out.println("片名\t\t\t主演\t\t\t时长\t\t\t评分\t\t\t票价\t\t\t余票数量\t\t\t放映时间");System.out.println(m.getName() + "\t\t" + m.getActor() + "\t\t" + m.getTime() + "\t\t" + m.getScore() + "\t\t\t" +m.getPrice() + "\t\t\t" + m.getNum() + "\t\t\t" + sdf.format(m.getStartData()));}}});}

5、客户注册

    /*** 用户注册*/private static void customerRegister() {Custom user = new Custom();System.out.println("=============================用户注册========================");//定义User类作为父类,属性:登录名称、密码、真实名称、性别、电话、账户金额System.out.println("请输入登录名称:");String loginName = SC.nextLine();while (true) {System.out.println("请输入登录密码:");String loginPasswordFirst = SC.nextLine();System.out.println("请再次输入登录密码:");String loginPasswordSecond = SC.nextLine();if (loginPasswordSecond.equals(loginPasswordFirst)) {user.setPassword(loginPasswordSecond);break;} else {System.out.println("两次输入的密码不一致,请再次输入");}}System.out.println("请输入真实名称:");String userName = SC.nextLine();System.out.println("请输入性别:");String sex = SC.nextLine();System.out.println("请输入电话:");String phone = SC.nextLine();System.out.println("请输入账户金额:");String money = SC.nextLine();user.setMoney(Double.valueOf(money));user.setUserName(userName);user.setPhone(phone);user.setSex(sex);user.setLoginName(loginName);ALL_USERS.add(user);System.out.println(user.getLoginName() + "注册成功");}

6、商家注册

 /*** 商家注册*/private static void businessRegister() {Business user = new Business();System.out.println("=============================商家注册========================");//定义User类作为父类,属性:登录名称、密码、真实名称、性别、电话、账户金额System.out.println("请输入登录名称:");String loginName = SC.nextLine();while (true) {System.out.println("请输入登录密码:");String loginPasswordFirst = SC.nextLine();System.out.println("请再次输入登录密码:");String loginPasswordSecond = SC.nextLine();if (loginPasswordSecond.equals(loginPasswordFirst)) {user.setPassword(loginPasswordSecond);break;} else {System.out.println("两次输入的密码不一致,请再次输入");}}System.out.println("请输入真实名称:");String userName = SC.nextLine();System.out.println("请输入性别:");String sex = SC.nextLine();System.out.println("请输入电话:");String phone = SC.nextLine();System.out.println("请输入账户金额:");String money = SC.nextLine();System.out.println("请输入店铺名称:");String shopName = SC.nextLine();System.out.println("请输入店铺地址:");String address = SC.nextLine();user.setMoney(Double.valueOf(money));user.setUserName(userName);user.setPhone(phone);user.setSex(sex);user.setLoginName(loginName);user.setShopAddress(address);user.setShopName(shopName);ALL_USERS.add(user);System.out.println(user.getLoginName() + "注册成功");}

基于Java的电影购票系统-Java文档类资源-CSDN下载日志框架搭建、系统角色分析首页设计、登录、商家界面、用户界面实现商家-详情页设计、影片上架、更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/qq_44771627/85095268

JAVA电影购票系统相关推荐

  1. java版DVD影碟片出租赁系统C/S模式 java电影购票系统课程设计

    系统采用c/s架构,当然,你可以服务端.客户端都在同一台电脑上运行: 也可以在同一局域网内服务端.客户端在其它不同电脑上运行: 如果你有云服务器,可将Service端代码部署至云服务器上,客户端在任何 ...

  2. Java实现项目电影购票系统(swing界面)

    使用三层架构实现电影购票系统,分用户和管理员,用户功能:展示电影,查找电影(模糊查询),查看电影详情,查找场次,购买影票,订制座位,退订影票等功能,界面美观漂亮,逻辑严谨,附加电影评论功能,订票超过五 ...

  3. javaweb JSP JAVA 电影院在线订票系统(ssm电影购票系统 电影售票 电影票预订系统)(支持在线选座)

    JSP JAVA 电影院在线订票系统(ssm电影购票系统 电影售票 电影票预订系统)(支持在线选座)

  4. 全新电影影院管理JAVA系统源码+电影购票系统

    正文: 最新JAVA电影影院管理系统源码+电影购票系统,程序的详细功能介绍放到压缩包了,有兴趣的自行去查看吧,其它的就没什么需要说的了. 程序: wwets.lanzoup.com/iug63076r ...

  5. Java Swing+Mysql电影购票系统(普通用户/管理员登录+充值购票+影院管理)

    Java Swing+Mysql电影购票系统 文章目录 数据库连接 主要页面 运行截图 文章目录 电影购票系统模拟真实购票流程,在线选座,充值购票,影院信息管理.登录用户分为:普通用户+管理员 数据库 ...

  6. 电影影院管理系统电影购票系统java项目jsp web项目

    电影影院管理系统电影购票系统java项目jsp web项目基于javaweb的在线电影院售票管理系统 电影影院管理系统电影购票系统java项目jspweb项目-Java文档类资源-CSDN下载电影影院 ...

  7. javaweb JAVA JSP电影院在线订票系统 JSP电影购票系统 JSP电影售票系统 JSP电影票预订系统)

    javaweb JAVA JSP电影院在线订票系统 JSP电影购票系统  JSP电影售票系统  JSP电影票预订系统) protected void doGet(HttpServletRequest ...

  8. javaweb JAVA JSP电影院在线订票系统JSP电影购票系统 JSP电影售票 JSP电影票预订系统支持在线选座jsp电影票预订系统

    javaweb JAVA JSP电影院在线订票系统JSP电影购票系统 JSP电影售票 JSP电影票预订系统支持在线选座jsp电影票预订系统 protected void doGet(HttpServl ...

  9. Eclipse+Java+Swing+Mysql实现电影购票系统【建议收藏】

    目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.数据库 5.工程截图 二.系统展示 1.注册系统 2.登录系统 3.用户-欢迎界面 4.用户-影片排行榜 5.用户-购票信息 6.用户 ...

  10. java中实现电影售票类_java使用三层架构实现电影购票系统

    使用三层架构实现电影购票系统,分用户和管理员,用户功能:展示电影,查找电影(模糊查询),查看电影详情,查找场次,购买影票,订制座位,退订影票等功能,界面美观漂亮,逻辑严谨,附加电影评论功能,订票超过五 ...

最新文章

  1. 026_如何在MAC下输入主要国家货币符号?
  2. “编译器错误信息: CS0016: 未能写入输出文件”解决方法
  3. 高级开发必须理解的Java中SPI机制
  4. 小时代5-perl的INC设置分析
  5. django 登陆增加除了用户名之外的手机和邮箱登陆
  6. 云原生时代,谁是容器的最终归宿?
  7. BZOJ2406矩阵——有上下界的可行流+二分答案
  8. CCF201503试题
  9. [POJ1830] 开关问题
  10. 拓端tecdat|R、Python、Open Refine采集pdf数据,清理数据和格式化数据
  11. python开启一个简单的服务器
  12. Spark实用议题系列(02)--- DataFrame的各种join总结和实例
  13. ChucK初步(1)
  14. python中turtle画小草_python 笔记 之带参数的装饰器
  15. 生物信息学缘起——linux篇(六)for和while循环
  16. js弹幕脚本(基于油猴)
  17. 80%的人都不知道在Excel中掐头去尾求平均分用这个函数
  18. cad2016中选择全图字体怎么操作_cad教程分享CAD中如何删除顽固图层?
  19. 12V铅酸电池充放电保护板
  20. 点对点文件服务器,点对点文件同步工具(Syncthing)

热门文章

  1. 区块链之门 | Reach on Conflux 2021 黑客松开赛
  2. 计算机的存储容量以什么为单位,计算机中用来表示内存储器容量大小的基本单位是什么?...
  3. 汇编语言 XCHG指令
  4. 深入浅出WPF知识点汇总二
  5. 细谈等级保护与ISO27000系列的区别与联系
  6. 新中大财务软件银色快车问题合集汇总 您遇到的问题基本都可以解决 SE
  7. 新中大连接服务器文件,新中大服务器数据库未能连接
  8. Flash反编译软件ASV2013之SWF转Fla教程
  9. 解决MAPGIS导出数据乱码
  10. Hownbsp;tonbsp;Modifynbsp;anbsp;ATInbsp;Switchablenbsp;G…