java實現(xiàn)KFC點餐小程序
更新時間:2019年01月24日 11:13:45 作者:java_YoungOG_KXD
這篇文章主要為大家詳細介紹了java實現(xiàn)KFC點餐系統(tǒng)小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了java實現(xiàn)KFC點餐系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
package KFC點餐系統(tǒng);
//food 類
public class Kfcfood {
private String fname ;
private int fnumb=1;
private float fPrice;
public Kfcfood() {
super();
}
public Kfcfood(String fname, int fnumb, float fPrice) {
super();
this.fname = fname;
this.fnumb = fnumb;
this.fPrice = fPrice;
}
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
public int getFnumb() {
return fnumb;
}
public void setFnumb(int fnumb) {
this.fnumb = fnumb;
}
public float getfPrice() {
return fPrice*fnumb;
}
public void setfPrice(float fPrice) {
this.fPrice = fPrice;
}
@Override
public String toString() {
return fname + " 價格 [" + fPrice + "]";
}
}
package KFC點餐系統(tǒng);
/*
* 1.正常餐品結(jié)算和找零。
2.基本套餐結(jié)算和找零。
3.使用優(yōu)惠劵購買餐品結(jié)算和找零。
4.可在一定時間段參與店內(nèi)活動(自行設計或參考官網(wǎng)信息)。
5.模擬打印小票的功能(寫到文件中)。
* */
/*@author:kxd
* @Date:2018.10.25
*
* 本人寫這個小程序,第一創(chuàng)建Kfcfood類屬性有foodname foodPrice foodnumb 和一些必要函數(shù) 這個類負責封裝食物屬性
* Demo1 是主程序 核心 是HashMap 集合,HashMap<Kfcfood , String > 做購物車 添加食物 和遍歷打印小票
* 用字符輸出流 很簡潔的寫法寫入文本
* BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("out.txt",true)));//字符緩沖輸出流
*
* */
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Date;
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
public class Demo1 {
public static void main(String[] args) throws IOException {
Kfcfood k1=new Kfcfood("全家桶",1,(float)(79.9));
Kfcfood k2=new Kfcfood("奧爾良雞腿堡",1,(float)(19.9));
Kfcfood k3=new Kfcfood("熱辣雞腿堡",1,(float)(18.9));
Kfcfood k4=new Kfcfood("帕尼尼早餐套餐",1,(float)(29.9));
Kfcfood k5=new Kfcfood("可樂",1,(float)(9.9));
Kfcfood k6=new Kfcfood("雞米花",1,(float)(9.9));
Kfcfood k7=new Kfcfood("薯條",1,(float)(8.8));
Kfcfood k8=new Kfcfood("熱辣雞翅",1,(float)(11.9));
Kfcfood k9=new Kfcfood("冰淇淋",1,(float)(9.9));
HashMap<Kfcfood , String > hm= new HashMap<Kfcfood , String >();
System.out.println("**********************************");
System.out.println("*********歡迎光臨肯德基餐廳*************");
System.out.println(" 菜單 ");
System.out.println("1:"+k1.toString());
System.out.println("2:"+k2.toString());
System.out.println("3:"+k3.toString());
System.out.println("4:"+k4.toString());
System.out.println("5:"+k5.toString());
System.out.println("6:"+k6.toString());
System.out.println("7:"+k7.toString());
System.out.println("8:"+k8.toString());
System.out.println("9:"+k9.toString());
boolean z=true ; int count=1;//計數(shù)器
float total=0;
while(z) {
System.out.println("請點餐 :輸入編號");
Scanner sc = new Scanner (System.in );
int i = sc.nextInt();
switch (i) {
case 1:
System.out.println(count+k1.getFname());
System.out.println("請輸入數(shù)量:");
Scanner sc1= new Scanner (System.in );
int n = sc1.nextInt();
k1.setFnumb(n);//輸入數(shù)量
total=total+k1.getfPrice();//計算入總價
hm.put(k1,"數(shù)量:"+String.valueOf( k1.getFnumb()) );//添加進樹
break;
case 2:
System.out.println(count+k2.getFname());
System.out.println("請輸入數(shù)量:");
Scanner sc2= new Scanner (System.in );
int n2 = sc2.nextInt();
k2.setFnumb(n2);
total=total+k2.getfPrice();//計算入總價
hm.put(k2,"數(shù)量:"+String.valueOf( k2.getFnumb()) );//添加進樹
break;
case 3:
System.out.println(count+k3.getFname());
System.out.println("請輸入數(shù)量:");
Scanner sc3= new Scanner (System.in );
int n3 = sc3.nextInt();
k3.setFnumb(n3);
total=total+k3.getfPrice();//計算入總價
hm.put(k3,"數(shù)量:"+String.valueOf( k3.getFnumb()) );//添加進樹
break;
case 4:
System.out.println(count+k4.getFname());
System.out.println("請輸入數(shù)量:");
Scanner sc4= new Scanner (System.in );
int n4 = sc4.nextInt();
k4.setFnumb(n4);
total=total+k4.getfPrice();//計算入總價
hm.put(k4,"數(shù)量:"+String.valueOf( k4.getFnumb()) );//添加進樹
break;
case 5:
System.out.println(count+k5.getFname());
System.out.println("請輸入數(shù)量:");
Scanner sc5= new Scanner (System.in );
int n5 = sc5.nextInt();
k5.setFnumb(n5);
total=total+k5.getfPrice();//計算入總價
hm.put(k5,"數(shù)量:"+String.valueOf( k5.getFnumb()) );//添加進樹
break;
case 6:
System.out.println(count+k6.getFname());
System.out.println("請輸入數(shù)量:");
Scanner sc6= new Scanner (System.in );
int n6 = sc6.nextInt();
k6.setFnumb(n6);
total=total+k6.getfPrice();//計算入總價
hm.put(k6,"數(shù)量:"+String.valueOf( k6.getFnumb()) );//添加進樹
break;
case 7:
System.out.println(count+k7.getFname());
System.out.println("請輸入數(shù)量:");
Scanner sc7= new Scanner (System.in );
int n7 = sc7.nextInt();
k7.setFnumb(n7);
total=total+k7.getfPrice();//計算入總價
hm.put(k7,"數(shù)量:"+String.valueOf( k7.getFnumb()) );//添加進樹
break;
case 8:
System.out.println(count+k8.getFname());
System.out.println("請輸入數(shù)量:");
Scanner sc8= new Scanner (System.in );
int n8 = sc8.nextInt();
k8.setFnumb(n8);
total=total+k8.getfPrice();//計算入總價
hm.put(k8,"數(shù)量:"+String.valueOf( k8.getFnumb()) );//添加進樹
break;
case 9:
System.out.println(count+k9.getFname());
System.out.println("請輸入數(shù)量:");
Scanner sc9= new Scanner (System.in );
int n9 = sc9.nextInt();
k9.setFnumb(n9);
total=total+k9.getfPrice();//計算入總價
hm.put(k9,"數(shù)量:"+String.valueOf( k9.getFnumb()) );//添加進樹
break;
default:System.out.println("請輸入正確的號碼!");
break;
}
//遍歷樹
Set<Kfcfood> ks1 = hm.keySet();//遍歷Map
for(Kfcfood s2:ks1) {
System.out.println("("+s2+","+hm.get(s2)+")");
}
System.out.println("1 繼續(xù)點餐 2 重新點餐 3 結(jié)束點餐 ");
Scanner sca= new Scanner (System.in );
int n = sca.nextInt();
switch(n) {
case 1:
count++;
break ;
case 2 :
System.out.println("重新點餐!");
hm.clear();
break;
case 3 :
System.out.println("總價"+total);
System.out.println("結(jié)束點餐");
z=false;
break;
default:System.out.println("請輸入正確的號碼!");
break;
}
}
System.out.println("****************************************");
System.out.println("*********歡迎光臨肯德基餐廳*************");
System.out.println(" 您的菜單為! ");
//遍歷樹
Set<Kfcfood> ks1 = hm.keySet();//遍歷Map
for(Kfcfood s2:ks1) {
System.out.println(" "+s2+", "+hm.get(s2)+" ");
}
System.out.println("總價"+total);
System.out.println("訂單時間: "+new Date());
System.err.println(" 歡迎下次光臨!");
System.out.println("**********************************");
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("out.txt")));//字符緩沖輸出流
bw.write("****************************************");bw.newLine();
bw.write("*********歡迎光臨肯德基餐!*************");bw.newLine();
bw.write(" 您的菜單為! ");bw.newLine();
Set<Kfcfood> ks2 = hm.keySet();//遍歷Map
for(Kfcfood s2:ks2) {
// System.out.println(" "+s2+", "+hm.get(s2)+" ");
bw.write(s2+", "+hm.get(s2));bw.newLine();
}
//System.out.println("總價"+total);
bw.write("訂單時間: "+new Date());bw.newLine();
bw.write(" 歡迎下次光臨!");bw.newLine();
bw.write("**********************************");bw.newLine();
bw.flush();
bw.close();
}
}
運行結(jié)果:




更多學習資料請關注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
springboot web項目打jar或者war包并運行的實現(xiàn)
這篇文章主要介紹了springboot web項目打jar或者war包并運行的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11
深度解析SpringBoot中@Async引起的循環(huán)依賴
本文主要介紹了深度解析SpringBoot中@Async引起的循環(huán)依賴,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
Spring Boot Admin(監(jiān)控工具)的使用
今天我們將會講解一個優(yōu)秀的監(jiān)控工具Spring Boot Admin。 它采用圖形化的界面,讓我們的Spring Boot管理更加簡單,需要的朋友可以參考下2020-02-02

