java实现肯德基收银系统

 更新时间:2021年06月25日 17:07:58   作者:够了.  
这篇文章主要为大家详细介绍了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);
 }
}

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

相关文章

  • Spring容器获取Bean的9种方式总结

    Spring容器获取Bean的9种方式总结

    本文为大家整理汇总了常见的获取Bean的方式,并提供一些优劣分析,方便大家在使用到时有更好的选择,同时,也会为大家适当的普及和拓展一些相关知识,需要的可以参考一下
    2023-07-07
  • SpringBoot开发案例之打造私有云网盘的实现

    SpringBoot开发案例之打造私有云网盘的实现

    这篇文章主要介绍了SpringBoot开发案例之打造私有云网盘的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Java实现简单图形界面计算器

    Java实现简单图形界面计算器

    这篇文章主要为大家详细介绍了Java实现简单图形界面计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 利用java实现邮箱群发功能

    利用java实现邮箱群发功能

    这篇文章主要为大家详细介绍了利用java实现邮箱群发功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Java8新特性之新日期时间库的使用教程

    Java8新特性之新日期时间库的使用教程

    这篇文章主要给大家介绍了关于Java8新特性之新日期时间库使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 解决String字符串转JSONObject顺序不对的问题

    解决String字符串转JSONObject顺序不对的问题

    这篇文章主要介绍了解决String字符串转JSONObject顺序不对的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java透明窗体的设置方法

    Java透明窗体的设置方法

    在本文中我们给大家整理了关于Java透明窗体的设置方法以及需要注意的地方,需要的朋友们学习参考下。
    2019-03-03
  • Spring Boot 项目启动失败的解决方案

    Spring Boot 项目启动失败的解决方案

    这篇文章主要介绍了Spring Boot 项目启动失败的解决方案,帮助大家更好的理解和学习使用Spring Boot,感兴趣的朋友可以了解下
    2021-03-03
  • IDEA中maven依赖报红的问题解决办法

    IDEA中maven依赖报红的问题解决办法

    这篇文章主要给大家介绍了关于IDEA中maven依赖报红的问题解决办法,在使用IDEA过程中,经常会出现maven依赖报红的问题,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • 如何通过自定义spring invalidator注解校验数据合法性

    如何通过自定义spring invalidator注解校验数据合法性

    这篇文章主要介绍了如何通过自定义spring invalidator注解校验数据合法性,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论