实现流程:(服务员登录—主要工作是点饮品)

登录(Waiter)—— 客户来消费 —— 点饮品(数量 —— 统计) ——付款(是否是会员)—— ①会员②非会员 —— 付款成功——(数据统计)

①付款方式有两种:1.积分兑换(可能积分不足,被系统自动计算为打折方式)2.打折方式

② 付款方式:全款

//服务员登录后的界面

public void waiterView(){

do {

System.out.println(str+"\n\t1.点饮品\n\t2.会员管理\n"+str+"\n请输入操作编号:");

int goNext = input.nextInt();

if(goNext == 1){

oderDrinkView();

}else if(goNext == 2){

manageVipView();

}else{

System.out.println("输入错误!");

continue;

}

} while (true);

}

//点饮品界面

public void oderDrinkView(){

boolean ifGo = true;

do {

System.out.println(str+"\n\t1.咖啡\n\t2.奶茶\n\t3.茶叶\n\t4.啤酒\n"+str+"\n请选择种类:");

int choice = input.nextInt();

switch (choice) {

case 1:

//调用点饮品方法

choiceDrink("Coffee");

System.out.println("您一共点了"+moneyAll+"元的饮品");

System.out.println("还要点其他什么吗?y/n");

char buyMore = input.next().charAt(0);

if(buyMore == 'y'){

continue;

}else{

//执行付款操作

pay(moneyAll);

}

break;

case 2:

choiceDrink("MilkTea");

System.out.println("您一共点了"+moneyAll+"元的饮品");

System.out.println("还要点其他什么吗?y/n");

char buyMore2 = input.next().charAt(0);

if(buyMore2 == 'y'){

continue;

}else{

//执行付款操作

pay(moneyAll);

}

break;

case 3:

choiceDrink("Tea");

System.out.println("您一共点了"+moneyAll+"元的饮品");

System.out.println("还要点其他什么吗?y/n");

char buyMore3 = input.next().charAt(0);

if(buyMore3 == 'y'){

continue;

}else{

//执行付款操作

pay(moneyAll);

}

break;

case 4:

choiceDrink("Bear");

System.out.println("您一共点了"+moneyAll+"元的饮品");

System.out.println("还要点其他什么吗?y/n");

char buyMore4 = input.next().charAt(0);

if(buyMore4 == 'y'){

continue;

}else{

//执行付款操作

pay(moneyAll);

}

break;

default:

break;

}

} while (ifGo);

}

//点饮品操作(根据饮品类型来显示饮品)

public void choiceDrink(String type){

System.out.println("名称\t分类\t售价\t兑换所需积分\t数量\tID");

for(int i=0;i

if(drink[i].isSale == true && drink[i].type.equals(type)){

drink[i].show(weight);

}

}

System.out.println("请输入要点的饮品ID:");

int ID = input.nextInt();

System.out.println("请输入要点的饮品数量:");

int num = input.nextInt();

for(int i=0;i

if(drink[i].ID == ID){

moneyAll = moneyAll+drink[i].salePrice*num;

drink[i].count -= num;

}else{

continue;

}

}

}

//消费者支付操作

public void pay(double moneyAllNeed){

int i;

System.out.println("请问是否有会员卡?y/n");

char isCard = input.next().charAt(0);

if(isCard == 'y'){

System.out.println("请输入您的电话号码:");

//默认是刷卡机刷出的号码都是正确的

String phoneNum = input.next();

for(i=0;i

if(phoneNum.equals(vip[i].phoneNum)){

//运行出错,输出的折后需支付是0

moneyPay = moneyAllNeed*(vip[i].getDiscount());

System.out.println("您是:"+vip[i].getRigidly()+"\t可享折扣:"+vip[i].getDiscount()+"\t剩余积分:"+vip[i].getScore());

scoreAll = (int)moneyAll*10;

holdScore = vip[i].getScore();

break;

}

}

if(i == vipCount){

System.out.println("用户不存在");

//按理说是存在此用户,在这里不做循环处理

}else{

System.out.println("您好请选择支付方式:\n1.打折支付 \n2.积分兑换");

int choice_pay = input.nextInt();

if(choice_pay == 1){

System.out.println("您好,您一共消费"+moneyAll+"元,打折后需支付:"+moneyPay+"元");

moneyAll = 0.0;

}else{

System.out.println("您好,您一共消费"+moneyAll+"元,需支付积分:"+scoreAll);

if(holdScore > scoreAll){

System.out.println("支付成功");

}else{

System.out.println("积分不够,只能打折支付");

System.out.println("您好,您一共消费"+moneyAll+"元,打折后需支付:"+moneyPay+"元");

}

moneyAll = 0.0;

}

}

}else{

b621

System.out.println("您好,您一共消费"+moneyAll+"元");

moneyAll = 0.0;

}

}

标签:

java监听窗口饮品,Java 完成部分水吧点饮品系统的:点饮品,饮品管理片段的实现...相关推荐

  1. java 监听窗口是否改变_JAVA项目监听文件是否发生变化

    一.spring容器都初始化完成之后做操作 packagecom.bijian.study.listener;importorg.springframework.beans.factory.annot ...

  2. java 监听 变量_[Java学习小记]使用PropertyChangeSupport来监听变量的变化

    今天要处理的问题是:监听一个变量,当该变量的值出现变化时能够获知,并进行相应处理. 使用java.bean.PropertyChangeSupport类.看如下的构造方法,其实就是将你要控制的对象绑定 ...

  3. java监听设计模式(java观察者设计模式)

    今天给大家分享一下观察者设计模式(监听设计模式),该模式在很多主流得框架.源码中使用率非常高.在分享之前先给大家讲一个我们使用手机的一个场景,我们都用过手机,当我们手机来电话的时候,会有各种复杂的操作 ...

  4. AWT_addMouseListener鼠标监听事件(Java)

    AWT_addMouseListener鼠标监听事件(Java) package reflect;import java.awt.*; import java.awt.event.MouseAdapt ...

  5. java swing列表数据加监听,【Java Swing公开课|Java监听列表项选择事件怎么用,看完这篇文章你一定就会了】- 环球网校...

    [摘要]作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的 ...

  6. java监听机制_详解java的事件监听机制和观察者设计模式

    首先说说监听器: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执 行. java的事件监 ...

  7. AWT_addKeyListener键盘监听事件(Java)

    AWT_addKeyListener键盘监听事件(Java) package reflect; import java.awt.*; import java.awt.event.KeyAdapter; ...

  8. AWT_事件监听2(Java)

    AWT_事件监听2(Java) package Demo01;import java.awt.*; import java.awt.event.ActionEvent; import java.awt ...

  9. java 监听控制台输入

    分享一下我写的java监听控制台输入并可以给出响应的功能. 很多时候需要监听控制台的输入内容,相当于信号监听,根据输入的内容做出相应的动作,这里给出我的一个简单实现. 要注意的是:监听得到的消息中前后 ...

最新文章

  1. 全面综述:图像特征提取与匹配技术
  2. 探讨DHCP之一:了解DHCP
  3. weather_在Weather App中使用Android Location API –搜索城市
  4. C语言回调函数Demo - Win32版
  5. Centos下安装apahce的configure: error: APR not found. Please read the documentation解决办法
  6. VMware Data Recovery备份恢复vmware虚拟机
  7. Java高级架构师需要掌握什么?
  8. Hive与Hadoop的调用关系
  9. windows录屏_电脑自带录屏软件怎么打开?详细操作教程
  10. svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法...
  11. 【Flink】FLink assigned slot xx was removed
  12. 业务复杂就用 if-else?刚来的技术大佬用这招彻底干掉了!
  13. Tuxedo 8.110gR3 开发环境的安装与配置
  14. [转帖]CentOS 7安装并启动Google浏览器(★firecat亲测有效★)
  15. 电脑一敲键盘就跳转计算机,Win10系统电脑关机后一敲键盘就开机 win10系统为什么按键盘任意键自动开机...
  16. Android 的录音分享特性
  17. 最细致全面架设外网传奇教程
  18. 删除wmspdmv监控进程-- 背后的眼睛
  19. 谷歌浏览器出现应用程序无法启动,提示应用程序的并行配置不正确
  20. Java正则表达式(详解)

热门文章

  1. 快上车!2021次“网易云信号”回顾列车发车啦!
  2. 被压缩的视觉:视频编解码技术
  3. ABAP,Java和JavaScript的序列化,反序列化
  4. 代码管理 ,git 命令整理
  5. 将不确定变为确定~transactionscope何时提升为分布式事务?
  6. 【字符比较】单字符比较值是否相等
  7. (转)基于MVC4+EasyUI的Web开发框架经验总结(9)--在Datagrid里面实现外键字段的转义操作...
  8. 转 :Vim文件编码识别与乱码处理
  9. android studio编译慢的问题
  10. 404 – File or directory not found.