java实现肯德基收银系统

参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能:

1.正常餐品结算和找零。

2.基本套餐结算和找零。

3.使用优惠券购买餐品结算和找零。

4.可在一定时间段参与店内活动(自行设计或参考官网信息)。

5.模拟打印小票的功能(写到文件中)。

小票信息保存

class print{
 String s=""; //存订单信息
}

食物工厂

interface FoodFactory{
 public Hamburger createHamburger(print s,int kind,int num); //生产汉堡包
 public Drink createDrink(print s,int kind,int num);  //生产饮品
 public Chicken createChicken(print s,int kind,int num);  //生产鸡肉类
 public Sweetmeats createSweetmeats(print s,int kind,int num); //生产甜品
 public Snack createSnack(print s,int kind,int num);  //生产小吃
 public FrenchFries createFrenchFries(print s,int kind,int num); //生产薯条
 public SetMeal createSetMeal(print s,int kind,int num);  //生产套餐
}

具体食物工厂

interface Hamburger{
 public double price(int num);
}
interface Drink{
 public double price(int num);

}
interface Chicken{
 public double price(int num);
}
interface Sweetmeats{
 public double price(int num);
}
interface Snack{
 public double price(int num);
}
interface FrenchFries{
 public double price(int num);
}
interface SetMeal{
 public double price(int num);
}

具体食物

//汉堡
//奥尔良烤堡
class Hamburger_1 implements Hamburger{
 public double price(int num)
 {
 System.out.println("奥尔良烤堡"+" "+" 数量:"+num+" "+"合计:"+(num*8));
 return num*8; //返回价格
 }
}
//香辣鸡腿堡
class Hamburger_2 implements Hamburger{
 public double price(int num)
 {
 System.out.println("香辣鸡腿堡"+" "+" 数量:"+num+" "+"合计:"+(num*9));
 return num*9;
 }
}
//劲脆鸡腿堡
class Hamburger_3 implements Hamburger{
 public double price(int num)
 {
 System.out.println("劲脆鸡腿堡"+" "+" 数量:"+num+" "+"合计:"+(num*10));
 return num*10;
 }
}
//饮品
//橙汁
class Drink_1 implements Drink{
 public double price(int num)
 {
 System.out.println("橙汁"+" "+" 数量:"+num+" "+"合计:"+(num*7));
 return num*7; //返回价格
 }
}
//百事可乐
class Drink_2 implements Drink{
 public double price(int num)
 {
 System.out.println("百事可乐"+" "+" 数量:"+num+" "+"合计:"+(num*8));
 return num*8;
 }
}
//百威啤酒
class Drink_3 implements Drink{
 public double price(int num)
 {
 System.out.println("百威啤酒"+" "+" 数量:"+num+" "+"合计:"+(num*9));
 return num*9;
 }
}
//鸡肉类
//老北京鸡肉卷
class Chicken_1 implements Chicken{
 public double price(int num)
 {
 System.out.println("老北京鸡肉卷"+" "+"数量:"+num+" "+"合计:"+(num*9));
 return num*9; //返回价格
 }
}
//香辣鸡翅
class Chicken_2 implements Chicken{
 public double price(int num)
 {
 System.out.println("香辣鸡翅"+" "+"数量:"+num+" "+"合计:"+(num*13));
 return num*13;
 }
}
//鸡排
class Chicken_3 implements Chicken{
 public double price(int num)
 {
 System.out.println("鸡排"+" "+"数量:"+num+" "+"合计:"+(num*10));
 return num*10;
 }
}
//甜品
//原味圣代
class Sweetmeats_1 implements Sweetmeats{
 public double price(int num)
 {
 System.out.println("原味圣代"+" "+"数量:"+num+" "+"合计:"+(num*9));
 return num*9; //返回价格
 }
}
//葡式蛋挞
class Sweetmeats_2 implements Sweetmeats{
 public double price(int num)
 {
 System.out.println("葡式蛋挞"+" "+"数量:"+num+" "+"合计:"+(num*12));
 return num*12;
 }
}
//巧克力味华夫
class Sweetmeats_3 implements Sweetmeats{
 public double price(int num)
 {
 System.out.println("巧克力味华夫"+" "+"数量:"+num+" "+"合计:"+(num*10));
 return num*10;
 }
}
//小吃
//蔬菜沙拉
class Snack_1 implements Snack{
 public double price(int num)
 {
 System.out.println("蔬菜沙拉"+" "+"数量:"+num+" "+"合计:"+(num*10));
 return num*10; //返回价格
 }
}
//醇香土豆泥
class Snack_2 implements Snack{
 public double price(int num)
 {
 System.out.println("醇香土豆泥"+" "+"数量:"+num+" "+"合计:"+(num*11));
 return num*11;
 }
}
//香甜粟米棒
class Snack_3 implements Snack{
 public double price(int num)
 {
 System.out.println("香甜粟米棒"+" "+"数量:"+num+" "+"合计:"+(num*6));
 return num*6;
 }
}
//薯条
//波纹霸王薯条
class FrenchFries_1 implements FrenchFries{
 public double price(int num)
 {
 System.out.println("波纹霸王薯条"+" "+"数量:"+num+" "+"合计:"+(num*12));
 return num*12; //返回价格
 }
}
//套餐
//套餐1
class SetMeal_1 implements SetMeal{
 public double price(int num) {
 System.out.println("香辣鸡翅+百事可乐"+" "+"数量:"+num+" "+"合计:"+(num*17));
 return num*17;
 }
}
//套餐2
class SetMeal_2 implements SetMeal{
 public double price(int num) {
 System.out.println("劲脆鸡腿堡+橙汁"+" "+"数量:"+num+" "+"合计:"+(num*15));
 return num*15;
 }
}
//套餐3
class SetMeal_3 implements SetMeal{
 public double price(int num) {
 System.out.println("香辣鸡腿堡+百威啤酒+波纹霸王薯条"+" "+"数量:"+num+" "+"合计:"+(num*25));
 return num*25;
 }
}

生产具体食物

//生产具体食物
class createFood implements FoodFactory{
 print p=new print();
 public Hamburger createHamburger(print s,int kind,int num) {
 if(kind==1){
  s.s=s.s+"\n"+"奥尔良汉堡 单价:"+"8"+" 数量:"+num+" 合计:"+(num*8); //将信息保存至s中
  return new Hamburger_1();}
 else if(kind==2) {
  s.s=s.s+"\n"+"香辣鸡腿堡 单价:"+"9"+" 数量:"+num+" 合计:"+(num*9);
  return new Hamburger_2();}
 else if(kind==3) {
  s.s=s.s+"\n"+"劲脆鸡腿堡 单价:"+"10"+" 数量:"+num+" 合计:"+(num*10);
  return new Hamburger_3();}
 else return null;
 }
 public Drink createDrink(print s,int kind,int num) {
 if(kind==1) {
  s.s=s.s+"\n"+"橙汁 单价:"+"7"+" 数量:"+num+" 合计:"+(num*7); //将信息保存至s中
  return new Drink_1();}
 else if(kind==2) {
  s.s=s.s+"\n"+"百事可乐 单价:"+"8"+" 数量:"+num+" 合计:"+(num*8);
  return new Drink_2();}
 else if(kind==3) {
  s.s=s.s+"\n"+"百威啤酒 单价:"+"9"+" 数量:"+num+" 合计:"+(num*9);
  return new Drink_3();}
 else return null;
 }
 public Chicken createChicken(print s,int kind,int num) {
 if(kind==1) {
  s.s=s.s+"\n"+"老北京鸡肉卷 单价:"+"9"+" 数量"+num+" 合计:"+(num*9); //将信息保存至s中
  return new Chicken_1();}
 else if(kind==2) {
  s.s=s.s+"\n"+"香辣鸡翅 单价:"+"13"+" 数量"+num+" 合计:"+(num*13);
  return new Chicken_2();}
 else if(kind==3) {
  s.s=s.s+"\n"+"鸡排 单价:"+"10"+" 数量"+num+" 合计:"+(num*10);
  return new Chicken_3();}
 else return null;
 }
 public Sweetmeats createSweetmeats(print s,int kind,int num) {
 if(kind==1) {
  s.s=s.s+"\n"+"原味圣代 单价:"+"9"+" 数量"+num+" 合计:"+(num*9); //将信息保存至s中
  return new Sweetmeats_1();}
 else if(kind==2) {
  s.s=s.s+"\n"+"葡式蛋挞 单价:"+"12"+" 数量"+num+" 合计:"+(num*12);
  return new Sweetmeats_2();}
 else if(kind==3) {
  s.s=s.s+"\n"+"巧克力味华夫 单价:"+"10"+" 数量"+num+" 合计:"+(num*10);
  return new Sweetmeats_3();}
 else return null;
 }
 public Snack createSnack(print s,int kind,int num) {
 if(kind==1) {
  s.s=s.s+"\n"+"蔬菜沙拉 单价:"+"10"+" 数量"+num+" 合计:"+(num*10); //将信息保存至s中
  return new Snack_1();}
 else if(kind==2) {
  s.s=s.s+"\n"+"醇香土豆泥 单价:"+"11"+" 数量"+num+" 合计:"+(num*11);
  return new Snack_2();}
 else if(kind==3) {
  s.s=s.s+"\n"+"香甜粟米棒 单价:"+"6"+" 数量"+num+" 合计:"+(num*6);
  return new Snack_3();}
 else return null;
 }
 public FrenchFries createFrenchFries(print s,int kind,int num){
 if(kind==1) {
  s.s=s.s+"\n"+"波纹霸王薯条 单价:"+"12"+" 数量"+num+" 合计:"+(num*12); //将信息保存至s中
  return new FrenchFries_1();}
 else return null;
 }
 public SetMeal createSetMeal(print s,int kind, int num) {
 if(kind==1) {
  s.s=s.s+"\n"+"套餐1 单价:"+"17"+" 数量"+num+" 合计:"+(num*17); //将信息保存至s中
  return new SetMeal_1();}
 else if(kind==2) {
  s.s=s.s+"\n"+"套餐2 单价:"+"15"+" 数量"+num+" 合计:"+(num*15);
  return new SetMeal_2();}
 else if(kind==3) {
  s.s=s.s+"\n"+"套餐3 单价:"+"25"+" 数量"+num+" 合计:"+(num*25);
  return new SetMeal_3();}
 else return null;
 }
}

订购食物,返回价格

class Price{
 public FoodFactory create;
 //构造方法将抽象工厂传入
 public Price(FoodFactory create) {
 this.create=create;
 }
 public double orderHamburger(print s,int kind,int num) {
 Hamburger hamburger=create.createHamburger(s,kind, num);
 return hamburger.price(num);
 }
 public double orderDrink(print s,int kind,int num) {
 Drink drink=create.createDrink(s,kind, num);
 return drink.price(num);
 }
 public double orderChicken(print s,int kind,int num) {
 Chicken chicken=create.createChicken(s,kind, num);
 return chicken.price(num);
 }
 public double orderSweetmeats(print s,int kind,int num) {
 Sweetmeats sweetmeats=create.createSweetmeats(s,kind, num);
 return sweetmeats.price(num);
 }
 public double orderSnack(print s,int kind,int num) {
 Snack snack=create.createSnack(s,kind, num);
 return snack.price(num);
 }
 public double orderFrenchFries(print s,int kind,int num) {
 FrenchFries frenchFries=create.createFrenchFries(s,kind, num);
 return frenchFries.price(num);
 }
 public double orderSetMeal(print s,int kind,int num) {
 SetMeal setMeal=create.createSetMeal(s,kind, num);
 return setMeal.price(num);
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java Gui实现肯德基点餐收银系统

    大家应该都去麦当劳或肯德基吃过快餐,参考肯德基官网的信息模拟肯德基快餐店的收银系统,简单的java Gui模拟的肯德基收银系统. 1.系统介绍 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动(自行设计或参考官网信息). 5.模拟打印小票的功能

  • java实现肯德基收银系统

    参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠券购买餐品结算和找零. 4.可在一定时间段参与店内活动(自行设计或参考官网信息). 5.模拟打印小票的功能(写到文件中). 小票信息保存 class print{ String s=""; //存订单信息 } 食物工厂 interface FoodFactory{ public Hambu

  • python+pyqt5实现KFC点餐收银系统

    本文实例为大家分享了python实现KFC点餐收银系统的具体代码,供大家参考,具体内容如下 这个kfc收银系统我实现了的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动 5.模拟打印小票的功能(写到文件中). 工程文件: 肯德基.py文件实现各功能.kfctip.txt文件用于打印小票.picture文件里存放界面所需的图片.其他四个文件为各界面布局. 主界面: 正常餐品点餐界面: 套餐点餐界面: 活动套餐点餐界面

  • Java实战之超市收银管理系统的实现

    目录 一.项目简述 二.项目运行 三.效果图 四.核心代码 品类信息控制层 用户信息控制层 商品信息控制层 一.项目简述 本系统主要实现的功能有:收银.报表.用户管理.商品管理.销售管理.进货退货管理.仓库管 理等等功能. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: Spring+ SpringMVC + MyBatis + ThymeLeaf

  • 前端开发之便利店收银系统代码

    1+X前端初级JQ 社区便利店收银系统代码 <body> <input type="text" id="t" value="" disabled="disabled" /> <form id="main" action="" method=""> <span>4.5</span> <input type

  • C#实现简单超市收银系统

    本文实例为大家分享了C#实现简单超市收银系统的具体代码,供大家参考,具体内容如下 今天使用一直学习的抽象类等做了个简单的超市收银系统,不难,不过里面的逻辑要理清楚. 首先我们要知道我们要实现的功能. 超市一般有仓库,有收银台,有各种各样的商品,每一个商品都有Name,Price,Count等属性.我们可以写一个抽象父类,这样我们才能将每件商品属性设置一样.新建一个ProduckFather类作为商品的父类 并将属性和构造函数写好,每次新建商品时写好参数就会方便很多 abstract class

  • java实现可视化界面肯德基(KFC)点餐系统代码实例

    一.题目 使用java实现可视化KFC点餐系统. 二.题目分析 根据java中的用户图形界面包中的各个类设计界面.利用JFrame提供最大的容器,然后设计各个面板,各个面板中添加所需要的组件,本程序中需要对按钮组件添加监听者,当按下按钮之后做出相应的相应. 对于程序运行显示的第一个界面由一个继承于JFrame的类run类在构造函数中设计并通过函数setVisible(true)显示在界面上,界面上有一个按钮"点餐饮",当此按钮按下时触发响应函数,进入点餐界面,然后通过点击点餐界面各食物

  • Java使用抽象工厂模式实现的肯德基消费案例详解

    本文实例讲述了Java使用抽象工厂模式实现的肯德基消费案例.分享给大家供大家参考,具体如下: 一.模式定义 抽象工厂模式提供了一个接口,用于创建相关或者依赖对象的家族,而不需要指定具体实现类. 抽象工厂模式允许客户使用抽象接口来创建一组相关的产品,客户类和工厂类分开,客户需要任何产品的时候,只需要向工厂请求即可,客户无须修改就可以获得新产品. 二.模式举例 1 模式分析 我们借用爸爸和儿子到肯德基店消费这一场景来说明这一模式,进行抽象分析后的截图如下 2 抽象工厂模式的静态建模 3 代码示例 3

  • Python实战练习之终于对肯德基下手

    准备工作 查看肯德基官网的请求方法:post请求. X-Requested-With: XMLHttpRequest 判断得肯德基官网是ajax请求 通过这两个准备步骤,明确本次爬虫目标: ajax的post请求肯德基官网 获取上海肯德基地点前10页. 分析 获取上海肯德基地点前10页,那就需要先对每页的url进行分析. 第一页 # page1 # http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname # POST # cnam

  • Python爬取肯德基官网ajax的post请求实现过程

    目录 准备工作 分析 程序入口 url组成数据定位 构造url 参数 post请求 标头获取(防止反爬的一种手段) 请求对象定制 获取网页源码 获取响应中的页面的源码,下载数据 全部代码 爬取后结果 准备工作 查看肯德基官网的请求方法:post请求. X-Requested-With: XMLHttpRequest 判断得肯德基官网是ajax请求 通过这两个准备步骤,明确本次爬虫目标: ajax的post请求肯德基官网 获取上海肯德基地点前10页. 分析 获取上海肯德基地点前10页,那就需要先对

随机推荐