java实现肯德基收银系统

所属分类: 软件编程 / java 阅读数: 30
收藏 0 赞 0 分享

参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用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);
 }
}

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

更多精彩内容其他人还在看

SpringBoot环境搭建及第一个程序运行(小白教程)

这篇文章主要介绍了SpringBoot环境搭建及第一个程序运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

过滤器 和 拦截器的 6个区别(别再傻傻分不清了)

这篇文章主要介绍了过滤器 和 拦截器的 6个区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

SpringBoot整合SpringTask实现定时任务的流程

这篇文章主要介绍了SpringBoot整合SpringTask实现定时任务的流程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vscode快速引入第三方jar包发QQ邮件

这篇文章主要介绍了vscode快速引入第三方jar包发QQ邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Java Enum和String及int的相互转化示例

这篇文章主要介绍了Java Enum和String及int的相互转化示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring boot如何快速的配置多个Redis数据源

这篇文章主要介绍了Spring boot如何快速的配置多个Redis数据源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

JAVA 对接腾讯云直播的实现

这篇文章主要介绍了JAVA 对接腾讯云直播的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

JavaSE static final及abstract修饰符实例解析

这篇文章主要介绍了JavaSE static final及abstract修饰符实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

SpringBoot定时任务参数运行代码实例解析

这篇文章主要介绍了SpringBoot定时任务运行代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring Boot调用 Shell 脚本实现看门狗功能

这篇文章主要介绍了Spring Boot调用 Shell 脚本实现看门狗功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多