功能介绍
- 用户、商家注册功能
- 用户通过输入账号、姓名、性别、手机号码、账户密码、存储金额 进行注册
- 商家通过输入账号、姓名、性别、手机号码、账户密码、存储金额、店名、地铺地址 进行注册
2、 用户、商家登录功能
1、用户输入账号、密码进行登录 ,登录后可进行
2、商家输入账号、密码进行登录
3、用户登录成功后,显示用户界面,界面功能有购票(能够判断用户账户的余额是否大于所购买影片合计的价格,不够可进行充值余额)、评分、展示当前放映的全部影片信息、根据电影名查询电影信息。
4、商家登录成功后,显示商家界面,界面功能有展示自己电影院的目前上映的影片信息、上架影片、下架影片、修改电影信息。
代码演示
这部分就不操作了,需要的可以复制代码,在自己的编译器上演示。
系统代码
package moviesShop;
import java.util.*;
public class Test {
public static List<Customer> CUSTOMERS = new ArrayList<>();//存放客户
public static Map<Business,List<Movies>> BUSINESSMAP = new HashMap<>(); //存放商家和电影
public static final Scanner SCANNER = new Scanner(System.in);
static {
Customer c1 = new Customer();
c1.setName("刘德华");
c1.setAccount("123");
c1.setPassword("123");
c1.setPhone("13599693243");
c1.setSex("男");
c1.setMoney(10000);
Customer c2 = new Customer();
c2.setName("周星驰");
c2.setAccount("456");
c2.setPassword("456");
c2.setPhone("13599693243");
c2.setSex("男");
c2.setMoney(5000);
Collections.addAll(CUSTOMERS,c1,c2);
Business b1 = new Business();
b1.setShopName("黑马电影院");
b1.setAddress("北京");
b1.setAccount("123");
b1.setPassword("123");
b1.setName("张伟");
b1.setSex("男");
Business b2 = new Business();
b2.setShopName("远光电影院");
b2.setAddress("丽江");
b2.setAccount("456");
b2.setPassword("456");
b2.setName("小仙");
b2.setSex("女");
Movies m1 = new Movies("肖申克的救赎","蒂姆·罗宾斯",9.8,"2021-11-23 10:10:10",
45,200);
Movies m2 = new Movies("权力的游戏","罗根",8.6,"2021-1-21 10:10:10",
45,200);
Movies m3 = new Movies("摩登家族","史蒂芬",7.8,"2021-11-23 15:10:10",
45,200);
Movies m4 = new Movies("触摸未来","罗丝",5.8,"2021-11-23 15:10:10",
45,200);
List<Movies> l1 = new ArrayList<>();
List<Movies> l2 = new ArrayList<>();
Collections.addAll(l1,m1,m3);
Collections.addAll(l2,m2,m4);
BUSINESSMAP.put(b1,l1);
BUSINESSMAP.put(b2,l2);
}
public static void main(String[] args) {
boolean loginFlag = true;
while (loginFlag){
System.out.println("--------登录界面-----------");
System.out.println("1、登录商家/客户------------1");
System.out.println("2、注册商家/客户------------2");
System.out.println("3、退出--------------------3");
System.out.println("==========================");
System.out.println("输入要执行选项的数字:");
String select = SCANNER.nextLine();
switch (select ){
case "1" : login(); ;break;
case "2" : register(); ;break;
case "3" : loginFlag = false ;break;
default:
System.out.println("输入错误,请输入正确的数字");
}
}
}
//注册界面
public static void register(){
boolean registerFlag = true;
while (registerFlag){
System.out.println("--------注册界面--------");
System.out.println("1、注册客户------------1");
System.out.println("2、注册商家------------2");
System.out.println("3、退出---------------3");
System.out.println("======================");
System.out.println("输入要执行选项的数字:");
try {
int select = Integer.parseInt( SCANNER.nextLine());
switch (select ){
case 1 : registerCustomer(); ;break;
case 2 : registerBusiness(); ;break;
case 3 : registerFlag = false ;break;
default:
System.out.println("输入错误,请输入正确的数字");
}
} catch (NumberFormatException e) {
e.printStackTrace();
}
}
}
//注册客户
public static void registerCustomer(){
Customer c = new Customer();
System.out.println("输入账号:");
c.setAccount(SCANNER.nextLine());
System.out.println("输入姓名:");
c.setName(SCANNER.nextLine());
System.out.println("输入性别:");
c.setSex(SCANNER.nextLine());
System.out.println("输入手机号:");
c.setPhone(SCANNER.nextLine());
System.out.println("输入密码:");
c.setPassword(SCANNER.nextLine());
try {
System.out.println("输入金额:");
c.setMoney(Double.parseDouble(SCANNER.nextLine()));
} catch (NumberFormatException e) {
c.setMoney(1000);
e.printStackTrace();
}
CUSTOMERS.add(c);
}
//注册商家
public static void registerBusiness(){
Business b = new Business();
List<Movies> m = new ArrayList<>();
System.out.println("输入账号:");
b.setAccount(SCANNER.nextLine());
System.out.println("输入姓名:");
b.setName(SCANNER.nextLine());
System.out.println("输入性别:");
b.setSex(SCANNER.nextLine());
System.out.println("输入手机号:");
b.setPhone(SCANNER.nextLine());
System.out.println("输入密码:");
b.setPassword(SCANNER.nextLine());
try {
System.out.println("输入金额:");
b.setMoney(Double.parseDouble(SCANNER.nextLine()));
} catch (NumberFormatException e) {
b.setMoney(1000);
e.printStackTrace();
}
System.out.println("输入店铺名:");
b.setShopName(SCANNER.nextLine());
System.out.println("输入店铺地址:");
b.setAddress(SCANNER.nextLine());
BUSINESSMAP.put(b,m);
}
//登录界面
public static void login(){
boolean loginFlag = true;
while ( loginFlag){
System.out.println("--------登录界面--------");
System.out.println("1、登录客户------------1");
System.out.println("2、登录商家------------2");
System.out.println("3、退出---------------3");
System.out.println("======================");
System.out.println("输入要执行选项的数字:");
try {
int select = Integer.parseInt(SCANNER.nextLine());
switch (select ){
case 1 : loginCustomer(); ;break;
case 2 : loginBusiness(); ;break;
case 3 : loginFlag = false ;break;
default:
System.out.println("输入错误,请输入正确的数字");
}
} catch (NumberFormatException e) {
e.printStackTrace();
}
}
}
//商家登录
public static void loginBusiness(){
System.out.println("输入账号:");
String tempAccount = SCANNER.nextLine();
if(tempAccount != null){
BUSINESSMAP.forEach((k,v) -> {
if(k.getAccount().equals(tempAccount)){
System.out.println("请输入密码:");
String tempPassword = SCANNER.nextLine();
if(k.getPassword().equals(tempPassword)){
System.out.println("登录成功!!");
showBusiness(k);
}else{
System.out.println("密码错误");
}
}
});
}
}
//客户登录
public static void loginCustomer(){
System.out.println("输入账号:");
String tempAccount = SCANNER.nextLine();
boolean flag = true;
if(tempAccount != null){
for (Customer customer : CUSTOMERS) {
if(customer.getAccount().equals(tempAccount)){
System.out.println("请输入密码:");
String tempPassword = SCANNER.nextLine();
if(customer.getPassword().equals(tempPassword)){
System.out.println("登录成功!!");
showCustmoer(customer);
}else{
System.out.println("密码错误");
}
flag = true;
break;
}else{
flag = false;
}
}
if(flag == false){
System.out.println("该用户不存在");
}
}
}
//客户界面
public static void showCustmoer(Customer customer){
System.out.println("-------客户界面--------");
boolean showCustmoerFlag = true;
while (showCustmoerFlag){
System.out.println("1、展示全部影片信息---------1");
System.out.println("2、根据电影名查询电影信息----2");
System.out.println("3、评分功能---------------3");
System.out.println("4、购票功能---------------4");
System.out.println("5、退出------------------5");
System.out.println("=========================");
System.out.println("输入要执行选项的数字:");
try {
int select = Integer.parseInt(SCANNER.nextLine());
switch (select){
case 1 : showAllMovies(); ;break;
case 2 : queryMovies(); ;break;
case 3 : setScore(); ;break;
case 4 : purchaseTicket(customer); ;break;
case 5 : showCustmoerFlag = false ;break;
default: System.out.println("输入错误,请输入正确的数字");
}
} catch (NumberFormatException e) {
e.printStackTrace();
}
}
}
//展示全部影片信息
public static void showAllMovies(){
BUSINESSMAP.forEach( (k,v) -> {
System.out.println("********************************");
System.out.println(k.getShopName()+"店铺上映的电影:");
for (Movies movies : v) {
System.out.println("电影名称: "+movies.getName());
System.out.println("主演: "+movies.getMainRole());
System.out.println("价格: "+movies.getPrice());
System.out.println("分数: "+movies.getScore());
System.out.println("余票: "+movies.getTicket());
System.out.println("放映时间: "+movies.getTime());
}
System.out.println("********************************");
});
}
//根据电影名查询电影信息
public static void queryMovies(){
System.out.println("输入电影名:");
String movieName = SCANNER.nextLine();
BUSINESSMAP.forEach((k,v) -> {
for (Movies movies : v) {
if(movieName.equals(movies.getName())){
System.out.println(k.getShopName()+"店铺上映的电影:");
System.out.println("电影名称: "+movies.getName());
System.out.println("主演: "+movies.getMainRole());
System.out.println("价格: "+movies.getPrice());
System.out.println("分数: "+movies.getScore());
System.out.println("余票: "+movies.getTicket());
System.out.println("放映时间: "+movies.getTime());
break;
}
}
});
}
//评分功能
public static void setScore(){
System.out.println("输入要进行评分的电影名:");
String movieName = SCANNER.nextLine();
BUSINESSMAP.forEach((k,v) -> {
for (Movies movies : v) {
if(movieName.equals(movies.getName())){
System.out.println("电影当前的分数: "+movies.getScore());
System.out.println("输入分数:");
Double score = SCANNER.nextDouble();
movies.setScore((score+movies.getScore())/2);
System.out.println("评分成功,该影片当前分数为"+movies.getScore());
break;
}
}
});
}
//购票功能
public static void purchaseTicket(Customer customer){
System.out.println("输入要购买的电影名:");
String movieName = SCANNER.nextLine();
BUSINESSMAP.forEach((k,v) -> {
for (Movies movies : v) {
if(movieName.equals(movies.getName())){
System.out.println("该影片在"+k.getShopName()+"放映");
System.out.println("放映时间:"+movies.getTime());
System.out.println("是/否购票(购票输入1,否则输入0): ");
int select = SCANNER.nextInt();
while (select == 1){
System.out.println("输入购买票数量:");
int amcount = SCANNER.nextInt();
if(customer.getMoney() >= (amcount * movies.getPrice())){
customer.setMoney(customer.getMoney() -(amcount * movies.getPrice()) );
System.out.println("购买成功");
}
else{
System.out.println("您的余额不足!请充值后再进行购买");
System.out.println("是否充值:(充值输入1,否则输入0)");
int select1 = SCANNER.nextInt();
if(select1 == 1){
System.out.println("输入充值金额:");
double money = SCANNER.nextDouble();
customer.setMoney(customer.getMoney()+money);
System.out.println("充值成功");
}
}
System.out.println("是否继续购票(购票输入1,否则输入0)");
select = SCANNER.nextInt();
}
}
}
});
}
//商家界面
public static void showBusiness(Business business){
System.out.println("-------客户界面--------");
boolean showCustmoerFlag = true;
while (showCustmoerFlag){
System.out.println("1、展示详情---------------1");
System.out.println("2、上架电影---------------2");
System.out.println("3、下架电影---------------4");
System.out.println("4、修改电影---------------5");
System.out.println("5、退出------------------6");
System.out.println("=========================");
System.out.println("输入要执行选项的数字:");
try {
int select = Integer.parseInt(SCANNER.nextLine());
switch (select ){
case 1 : showMovies(business); break;
case 2 : addMovies(business); break;
case 3 : removeMovies(business); break;
case 4 : alterMovies(business); break;
case 5 : showCustmoerFlag = false; break;
default:
System.out.println("输入错误,请输入正确的数字");
}
} catch (NumberFormatException e) {
e.printStackTrace();
}
}
}
//展示详情
public static void showMovies(Business business){
for (Movies movies : BUSINESSMAP.get(business)) {
System.out.println("电影名称: "+movies.getName());
System.out.println("主演: "+movies.getMainRole());
System.out.println("价格: "+movies.getPrice());
System.out.println("分数: "+movies.getScore());
System.out.println("余票: "+movies.getTicket());
System.out.println("放映时间: "+movies.getTime());
}
}
//上架电影
public static void addMovies(Business business){
Movies m = new Movies();
System.out.println("输入电影名称:");
m.setName(SCANNER.nextLine());
System.out.println("输入电影主演:");
m.setMainRole(SCANNER.nextLine());
try {
System.out.println("输入电影价格:");
m.setPrice(Double.parseDouble(SCANNER.nextLine()));
}catch (Exception e){
m.setPrice(99);
e.printStackTrace();
}
System.out.println("输入电影上映时间:");
m.setTime(SCANNER.nextLine());
try {
System.out.println("输入电影分数:");
m.setPrice(SCANNER.nextDouble());
}catch (Exception e){
m.setScore(9.9);
e.printStackTrace();
}
BUSINESSMAP.get(business).add(m);
boolean flag = true;
if(BUSINESSMAP.get(business).contains(m)){
flag = true;
}else {
flag = false;
}
if (flag){
System.out.println("上架成功");
}else {
System.out.println("上架失败");
}
}
//下架电影
public static void removeMovies(Business business){
System.out.println("输入要下架的电影名称");
String moviseName = SCANNER.nextLine();
for (Movies movies : BUSINESSMAP.get(business)) {
if(moviseName.equals(movies.getName())){
BUSINESSMAP.get(business).remove(movies);
}
}
boolean flag = true;
for (Movies movies : BUSINESSMAP.get(business)) {
if(moviseName.equals(movies.getName()) ){
flag = false;
}
}
if (flag){
System.out.println("下架成功");
}else {
System.out.println("下架失败");
}
}
//修改电影
public static void alterMovies(Business business){
System.out.println("输入要修改的电影名称:");
String moviesName = SCANNER.nextLine();
for (Movies movies : BUSINESSMAP.get(business)) {
if(movies.getName().equals(moviesName)){
System.out.println("输入修改后的电影名称:");
movies.setName(SCANNER.nextLine());
System.out.println("输入修改后的电影主演:");
movies.setMainRole(SCANNER.nextLine());
try {
System.out.println("输入修改后的电影价格:");
movies.setPrice(Double.parseDouble(SCANNER.nextLine()));
}catch (Exception e){
movies.setPrice(99);
e.printStackTrace();
}
System.out.println("输入修改后的电影上映时间:");
movies.setTime(SCANNER.nextLine());
try {
System.out.println("输入修改后的电影分数:");
movies.setScore(Double.parseDouble(SCANNER.nextLine()));
}catch (Exception e){
movies.setPrice(9.9);
e.printStackTrace();
}
break;
}
}
}
}
版权声明:本文为ll6677_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。