JAVA电影购票系统
一、功能描述
电影购票系统简介、项目功能演示
日志框架搭建、系统角色分析
首页设计、登录、商家界面、用户界面实现
商家-详情页设计、影片上架、退出
商家-影片下架、影片修改
用户-展示全部影片
用户-购票功能 用户-评分功能
用户-评分降序展示
用户-根据片名查询全部影片信息
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电影购票系统相关推荐
- java版DVD影碟片出租赁系统C/S模式 java电影购票系统课程设计
系统采用c/s架构,当然,你可以服务端.客户端都在同一台电脑上运行: 也可以在同一局域网内服务端.客户端在其它不同电脑上运行: 如果你有云服务器,可将Service端代码部署至云服务器上,客户端在任何 ...
- Java实现项目电影购票系统(swing界面)
使用三层架构实现电影购票系统,分用户和管理员,用户功能:展示电影,查找电影(模糊查询),查看电影详情,查找场次,购买影票,订制座位,退订影票等功能,界面美观漂亮,逻辑严谨,附加电影评论功能,订票超过五 ...
- javaweb JSP JAVA 电影院在线订票系统(ssm电影购票系统 电影售票 电影票预订系统)(支持在线选座)
JSP JAVA 电影院在线订票系统(ssm电影购票系统 电影售票 电影票预订系统)(支持在线选座)
- 全新电影影院管理JAVA系统源码+电影购票系统
正文: 最新JAVA电影影院管理系统源码+电影购票系统,程序的详细功能介绍放到压缩包了,有兴趣的自行去查看吧,其它的就没什么需要说的了. 程序: wwets.lanzoup.com/iug63076r ...
- Java Swing+Mysql电影购票系统(普通用户/管理员登录+充值购票+影院管理)
Java Swing+Mysql电影购票系统 文章目录 数据库连接 主要页面 运行截图 文章目录 电影购票系统模拟真实购票流程,在线选座,充值购票,影院信息管理.登录用户分为:普通用户+管理员 数据库 ...
- 电影影院管理系统电影购票系统java项目jsp web项目
电影影院管理系统电影购票系统java项目jsp web项目基于javaweb的在线电影院售票管理系统 电影影院管理系统电影购票系统java项目jspweb项目-Java文档类资源-CSDN下载电影影院 ...
- javaweb JAVA JSP电影院在线订票系统 JSP电影购票系统 JSP电影售票系统 JSP电影票预订系统)
javaweb JAVA JSP电影院在线订票系统 JSP电影购票系统 JSP电影售票系统 JSP电影票预订系统) protected void doGet(HttpServletRequest ...
- javaweb JAVA JSP电影院在线订票系统JSP电影购票系统 JSP电影售票 JSP电影票预订系统支持在线选座jsp电影票预订系统
javaweb JAVA JSP电影院在线订票系统JSP电影购票系统 JSP电影售票 JSP电影票预订系统支持在线选座jsp电影票预订系统 protected void doGet(HttpServl ...
- Eclipse+Java+Swing+Mysql实现电影购票系统【建议收藏】
目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.数据库 5.工程截图 二.系统展示 1.注册系统 2.登录系统 3.用户-欢迎界面 4.用户-影片排行榜 5.用户-购票信息 6.用户 ...
- java中实现电影售票类_java使用三层架构实现电影购票系统
使用三层架构实现电影购票系统,分用户和管理员,用户功能:展示电影,查找电影(模糊查询),查看电影详情,查找场次,购买影票,订制座位,退订影票等功能,界面美观漂亮,逻辑严谨,附加电影评论功能,订票超过五 ...
最新文章
- 026_如何在MAC下输入主要国家货币符号?
- “编译器错误信息: CS0016: 未能写入输出文件”解决方法
- 高级开发必须理解的Java中SPI机制
- 小时代5-perl的INC设置分析
- django 登陆增加除了用户名之外的手机和邮箱登陆
- 云原生时代,谁是容器的最终归宿?
- BZOJ2406矩阵——有上下界的可行流+二分答案
- CCF201503试题
- [POJ1830] 开关问题
- 拓端tecdat|R、Python、Open Refine采集pdf数据,清理数据和格式化数据
- python开启一个简单的服务器
- Spark实用议题系列(02)--- DataFrame的各种join总结和实例
- ChucK初步(1)
- python中turtle画小草_python 笔记 之带参数的装饰器
- 生物信息学缘起——linux篇(六)for和while循环
- js弹幕脚本(基于油猴)
- 80%的人都不知道在Excel中掐头去尾求平均分用这个函数
- cad2016中选择全图字体怎么操作_cad教程分享CAD中如何删除顽固图层?
- 12V铅酸电池充放电保护板
- 点对点文件服务器,点对点文件同步工具(Syncthing)
热门文章
- 区块链之门 | Reach on Conflux 2021 黑客松开赛
- 计算机的存储容量以什么为单位,计算机中用来表示内存储器容量大小的基本单位是什么?...
- 汇编语言 XCHG指令
- 深入浅出WPF知识点汇总二
- 细谈等级保护与ISO27000系列的区别与联系
- 新中大财务软件银色快车问题合集汇总 您遇到的问题基本都可以解决 SE
- 新中大连接服务器文件,新中大服务器数据库未能连接
- Flash反编译软件ASV2013之SWF转Fla教程
- 解决MAPGIS导出数据乱码
- Hownbsp;tonbsp;Modifynbsp;anbsp;ATInbsp;Switchablenbsp;G…