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);
 }
}

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

时间: 2019-05-14

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

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

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

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

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

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

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

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

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

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

Vue实战教程之仿肯德基宅急送App

Vue学习有一段时间了,就想着用Vue来写个项目练练手,弄了半个月,到今天为止也算勉强能看了. 由于不知道怎么拿手机App的接口,并且KFC电脑端官网真的...一言难尽,所以项目所有数据都是我截图然后写在EasyMock里的,有需要的同学可以自取 首页 商品页 外卖页 技术栈 vue + webpack + vuex + axios 文件目录 │ App.vue │ main.js │ ├─assets │ logo.png │ ├─components │ │ cartcontrol.vue

Java GUI编程之贪吃蛇游戏简单实现方法【附demo源码下载】

本文实例讲述了Java GUI编程之贪吃蛇游戏简单实现方法.分享给大家供大家参考,具体如下: 例子简单,界面简陋 请见谅 项目结构如下 Constant.jvava 代码如下: package snake; /** * * @author hjn * */ public class Constant { /** * 蛇方移动方向:左边 */ public static final int LEFT = 0; /** * 蛇方移动方向:右边 */ public static final int R

java GUI实现学生图书管理简单实例

本文实例为大家分享了java GUI学生图书管理的具体代码,供大家参考,具体内容如下 - mysql数据库建表: 1.book表 2.bs借书记录表 3.std学生表 4.dl登录用户表 . - 列表内容 1.databd.java //程序入口及登录验证 import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; import javax.swing.border.EmptyBorde

Java GUI制作简单的管理系统

本文实例为大家分享了Java GUI管理系统的具体代码,供大家参考,具体内容如下 1.先完成主页面MainUI(代码如下) package com.pag_1; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MainUI extends JFrame implements ActionLis