java實(shí)現(xiàn)肯德基收銀系統(tǒng)
參考肯德基官網(wǎng)的信息模擬肯德基快餐店的收銀系統(tǒng),合理使用C++或Java或Python結(jié)合設(shè)計(jì)模式(2種以上)至少實(shí)現(xiàn)系統(tǒng)的以下功能:
1.正常餐品結(jié)算和找零。
2.基本套餐結(jié)算和找零。
3.使用優(yōu)惠券購(gòu)買(mǎi)餐品結(jié)算和找零。
4.可在一定時(shí)間段參與店內(nèi)活動(dòng)(自行設(shè)計(jì)或參考官網(wǎng)信息)。
5.模擬打印小票的功能(寫(xiě)到文件中)。
小票信息保存
class print{
String s=""; //存訂單信息
}
食物工廠
interface FoodFactory{
public Hamburger createHamburger(print s,int kind,int num); //生產(chǎn)漢堡包
public Drink createDrink(print s,int kind,int num); //生產(chǎn)飲品
public Chicken createChicken(print s,int kind,int num); //生產(chǎn)雞肉類(lèi)
public Sweetmeats createSweetmeats(print s,int kind,int num); //生產(chǎn)甜品
public Snack createSnack(print s,int kind,int num); //生產(chǎn)小吃
public FrenchFries createFrenchFries(print s,int kind,int num); //生產(chǎn)薯?xiàng)l
public SetMeal createSetMeal(print s,int kind,int num); //生產(chǎn)套餐
}
具體食物工廠
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("奧爾良烤堡"+" "+" 數(shù)量:"+num+" "+"合計(jì):"+(num*8));
return num*8; //返回價(jià)格
}
}
//香辣雞腿堡
class Hamburger_2 implements Hamburger{
public double price(int num)
{
System.out.println("香辣雞腿堡"+" "+" 數(shù)量:"+num+" "+"合計(jì):"+(num*9));
return num*9;
}
}
//勁脆雞腿堡
class Hamburger_3 implements Hamburger{
public double price(int num)
{
System.out.println("勁脆雞腿堡"+" "+" 數(shù)量:"+num+" "+"合計(jì):"+(num*10));
return num*10;
}
}
//飲品
//橙汁
class Drink_1 implements Drink{
public double price(int num)
{
System.out.println("橙汁"+" "+" 數(shù)量:"+num+" "+"合計(jì):"+(num*7));
return num*7; //返回價(jià)格
}
}
//百事可樂(lè)
class Drink_2 implements Drink{
public double price(int num)
{
System.out.println("百事可樂(lè)"+" "+" 數(shù)量:"+num+" "+"合計(jì):"+(num*8));
return num*8;
}
}
//百威啤酒
class Drink_3 implements Drink{
public double price(int num)
{
System.out.println("百威啤酒"+" "+" 數(shù)量:"+num+" "+"合計(jì):"+(num*9));
return num*9;
}
}
//雞肉類(lèi)
//老北京雞肉卷
class Chicken_1 implements Chicken{
public double price(int num)
{
System.out.println("老北京雞肉卷"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*9));
return num*9; //返回價(jià)格
}
}
//香辣雞翅
class Chicken_2 implements Chicken{
public double price(int num)
{
System.out.println("香辣雞翅"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*13));
return num*13;
}
}
//雞排
class Chicken_3 implements Chicken{
public double price(int num)
{
System.out.println("雞排"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*10));
return num*10;
}
}
//甜品
//原味圣代
class Sweetmeats_1 implements Sweetmeats{
public double price(int num)
{
System.out.println("原味圣代"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*9));
return num*9; //返回價(jià)格
}
}
//葡式蛋撻
class Sweetmeats_2 implements Sweetmeats{
public double price(int num)
{
System.out.println("葡式蛋撻"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*12));
return num*12;
}
}
//巧克力味華夫
class Sweetmeats_3 implements Sweetmeats{
public double price(int num)
{
System.out.println("巧克力味華夫"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*10));
return num*10;
}
}
//小吃
//蔬菜沙拉
class Snack_1 implements Snack{
public double price(int num)
{
System.out.println("蔬菜沙拉"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*10));
return num*10; //返回價(jià)格
}
}
//醇香土豆泥
class Snack_2 implements Snack{
public double price(int num)
{
System.out.println("醇香土豆泥"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*11));
return num*11;
}
}
//香甜粟米棒
class Snack_3 implements Snack{
public double price(int num)
{
System.out.println("香甜粟米棒"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*6));
return num*6;
}
}
//薯?xiàng)l
//波紋霸王薯?xiàng)l
class FrenchFries_1 implements FrenchFries{
public double price(int num)
{
System.out.println("波紋霸王薯?xiàng)l"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*12));
return num*12; //返回價(jià)格
}
}
//套餐
//套餐1
class SetMeal_1 implements SetMeal{
public double price(int num) {
System.out.println("香辣雞翅+百事可樂(lè)"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*17));
return num*17;
}
}
//套餐2
class SetMeal_2 implements SetMeal{
public double price(int num) {
System.out.println("勁脆雞腿堡+橙汁"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*15));
return num*15;
}
}
//套餐3
class SetMeal_3 implements SetMeal{
public double price(int num) {
System.out.println("香辣雞腿堡+百威啤酒+波紋霸王薯?xiàng)l"+" "+"數(shù)量:"+num+" "+"合計(jì):"+(num*25));
return num*25;
}
}
生產(chǎn)具體食物
//生產(chǎn)具體食物
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"+"奧爾良漢堡 單價(jià):"+"8"+" 數(shù)量:"+num+" 合計(jì):"+(num*8); //將信息保存至s中
return new Hamburger_1();}
else if(kind==2) {
s.s=s.s+"\n"+"香辣雞腿堡 單價(jià):"+"9"+" 數(shù)量:"+num+" 合計(jì):"+(num*9);
return new Hamburger_2();}
else if(kind==3) {
s.s=s.s+"\n"+"勁脆雞腿堡 單價(jià):"+"10"+" 數(shù)量:"+num+" 合計(jì):"+(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"+"橙汁 單價(jià):"+"7"+" 數(shù)量:"+num+" 合計(jì):"+(num*7); //將信息保存至s中
return new Drink_1();}
else if(kind==2) {
s.s=s.s+"\n"+"百事可樂(lè) 單價(jià):"+"8"+" 數(shù)量:"+num+" 合計(jì):"+(num*8);
return new Drink_2();}
else if(kind==3) {
s.s=s.s+"\n"+"百威啤酒 單價(jià):"+"9"+" 數(shù)量:"+num+" 合計(jì):"+(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"+"老北京雞肉卷 單價(jià):"+"9"+" 數(shù)量"+num+" 合計(jì):"+(num*9); //將信息保存至s中
return new Chicken_1();}
else if(kind==2) {
s.s=s.s+"\n"+"香辣雞翅 單價(jià):"+"13"+" 數(shù)量"+num+" 合計(jì):"+(num*13);
return new Chicken_2();}
else if(kind==3) {
s.s=s.s+"\n"+"雞排 單價(jià):"+"10"+" 數(shù)量"+num+" 合計(jì):"+(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"+"原味圣代 單價(jià):"+"9"+" 數(shù)量"+num+" 合計(jì):"+(num*9); //將信息保存至s中
return new Sweetmeats_1();}
else if(kind==2) {
s.s=s.s+"\n"+"葡式蛋撻 單價(jià):"+"12"+" 數(shù)量"+num+" 合計(jì):"+(num*12);
return new Sweetmeats_2();}
else if(kind==3) {
s.s=s.s+"\n"+"巧克力味華夫 單價(jià):"+"10"+" 數(shù)量"+num+" 合計(jì):"+(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"+"蔬菜沙拉 單價(jià):"+"10"+" 數(shù)量"+num+" 合計(jì):"+(num*10); //將信息保存至s中
return new Snack_1();}
else if(kind==2) {
s.s=s.s+"\n"+"醇香土豆泥 單價(jià):"+"11"+" 數(shù)量"+num+" 合計(jì):"+(num*11);
return new Snack_2();}
else if(kind==3) {
s.s=s.s+"\n"+"香甜粟米棒 單價(jià):"+"6"+" 數(shù)量"+num+" 合計(jì):"+(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"+"波紋霸王薯?xiàng)l 單價(jià):"+"12"+" 數(shù)量"+num+" 合計(jì):"+(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 單價(jià):"+"17"+" 數(shù)量"+num+" 合計(jì):"+(num*17); //將信息保存至s中
return new SetMeal_1();}
else if(kind==2) {
s.s=s.s+"\n"+"套餐2 單價(jià):"+"15"+" 數(shù)量"+num+" 合計(jì):"+(num*15);
return new SetMeal_2();}
else if(kind==3) {
s.s=s.s+"\n"+"套餐3 單價(jià):"+"25"+" 數(shù)量"+num+" 合計(jì):"+(num*25);
return new SetMeal_3();}
else return null;
}
}
訂購(gòu)食物,返回價(jià)格
class Price{
public FoodFactory create;
//構(gòu)造方法將抽象工廠傳入
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);
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot中@ConfigurationProperties 配置綁定
本文主要介紹了SpringBoot中@ConfigurationProperties 配置綁定,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
java面試常問(wèn)的Runnable和Callable的區(qū)別
大家好,本篇文章主要講的是java面試常問(wèn)的Runnable和Callable的區(qū)別,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01
解決沒(méi)有@RunWith 和 @SpringBootTest注解或失效問(wèn)題
這篇文章主要介紹了解決沒(méi)有@RunWith 和 @SpringBootTest注解或失效問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
Java解決LocalDateTime傳輸前端為時(shí)間的數(shù)組
本文主要介紹了Java解決LocalDateTime傳輸前端為時(shí)間的數(shù)組,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03
java+socket實(shí)現(xiàn)簡(jiǎn)易局域網(wǎng)聊天室
這篇文章主要為大家詳細(xì)介紹了java+socket實(shí)現(xiàn)簡(jiǎn)易局域網(wǎng)聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
超詳細(xì)介紹idea中java程序打jar包的兩種方式
這篇文章主要介紹了超詳細(xì)介紹idea中java程序打jar包的兩種方式一種是可直接執(zhí)行的runnable jar文件,另一種是包含多個(gè)主類(lèi),運(yùn)行時(shí)需要指定主類(lèi)全類(lèi)名的jar包,感興趣的可以了解一下2020-07-07

