用Vector 或者是HashMap去裝
成都創(chuàng)新互聯(lián)公司是一家專業(yè)從事網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)站建設(shè)公司,成都創(chuàng)新互聯(lián)公司依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!
下面有部分代碼你去看吧
package?com.aptech.restrant.DAO;
import?java.util.ArrayList;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?java.util.Set;
import?java.sql.Connection;
import?com.aptech.restrant.bean.CartItemBean;
import?com.aptech.restrant.bean.FoodBean;
public?class?CartModel?{
private?Connection?conn;
public?CartModel(Connection?conn)?{
this.conn=conn;
}
/**
*?得到訂餐列表
*?
*?@return
*/
public?List?changeToList(Map?carts)?{
//?將Set中元素轉(zhuǎn)換成數(shù)組,以便使用循環(huán)進(jìn)行遍歷
Object[]?foodItems?=?carts.keySet().toArray();
//?定義double變量total,用于存放購(gòu)物車內(nèi)餐品總價(jià)格
double?total?=?0;
List?list?=?new?ArrayList();
//?循環(huán)遍歷購(gòu)物車內(nèi)餐品,并顯示各個(gè)餐品的餐品名稱,價(jià)格,數(shù)量
for?(int?i?=?0;?i??foodItems.length;?i++)?{
//?從Map對(duì)象cart中取出第i個(gè)餐品,放入cartItem中
CartItemBean?cartItem?=?(CartItemBean)?carts
.get((String)?foodItems[i]);
//?從cartItem中取出FoodBean對(duì)象
FoodBean?food1?=?cartItem.getFoodBean();
//?定義int類型變量quantity,用于表示購(gòu)物車中單個(gè)餐品的數(shù)量
int?quantity?=?cartItem.getQuantity();
//?定義double變量price,表示餐品單價(jià)
double?price?=?food1.getFoodPrice();
//?定義double變量,subtotal表示單個(gè)餐品總價(jià)
double?subtotal?=?quantity?*?price;
//?//?計(jì)算購(gòu)物車內(nèi)餐品總價(jià)格
total?+=?subtotal;
cartItem.setSubtotal(subtotal);
cartItem.setTotal(total);
list.add(cartItem);
}
return?list;
}
/**
*?增加訂餐
*/
public?Map?add(Map?cart,?String?foodID)?{
//?購(gòu)物車為空
if?(cart?==?null)?{
cart?=?new?HashMap();
}
FoodModel?fd?=?new?FoodModel(conn);
FoodBean?food?=?fd.findFoodById(foodID);
//?判斷購(gòu)物車是否放東西(第一次點(diǎn)餐)
if?(cart.isEmpty())?{
CartItemBean?cartBean?=?new?CartItemBean(food,?1);
cart.put(foodID,?cartBean);
}?else?{
//?判斷當(dāng)前菜是否在購(gòu)物車中,false表示當(dāng)前菜沒(méi)有被點(diǎn)過(guò)。。
boolean?flag?=?false;
//?得到鍵的集合
Set?set?=?cart.keySet();
//?遍歷集合
Object[]?obj?=?set.toArray();
for?(int?i?=?0;?i??obj.length;?i++)?{
Object?object?=?obj[i];
//?如果購(gòu)物車已經(jīng)存在當(dāng)前菜,數(shù)量+1
if?(object.equals(foodID))?{
int?quantity?=?((CartItemBean)?cart.get(object))
.getQuantity();
quantity?+=?1;
System.out.println(quantity);
((CartItemBean)?cart.get(object)).setQuantity(quantity);
flag?=?true;
break;
}
}
if?(flag?==?false)?{
//?把當(dāng)前菜放到購(gòu)物車?yán)锩?/p>
CartItemBean?cartBean?=?new?CartItemBean(food,?1);
cart.put(foodID,?cartBean);
}
}
return?cart;
}
/**
*?取消訂餐
*/
public?Map?remove(Map?cart,?String?foodID)?{
cart.remove(foodID);
return?cart;
}
/**
*?更新購(gòu)物車信息
*?
*?@param?cart
*?@param?foodID
*?@return
*/
public?MapString,?CartItemBean?update(Map?cart,?String?foodID,
boolean?isAddorRemove)?{
Map?map;
if?(isAddorRemove)?{
map?=?add(cart,?foodID);
}?else?{
map?=?remove(cart,?foodID);
}
return?map;
}
}
ackage?cn.practice1200;
import?java.util.Scanner;
public?class?Eater_Alliance?{
/**
*?吃貨聯(lián)盟訂餐系統(tǒng)
*
*?@author?QCD
*?@param?args
*/
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
Scanner?input?=?new?Scanner(System.in);
//?初始化3個(gè)數(shù)組存儲(chǔ)菜品、價(jià)格、點(diǎn)贊數(shù)
String[]?dishNames?=?{?"苦瓜炒雞蛋",?"紅燒排骨",?"辣子雞丁",?"石鍋魚",?"麻婆豆腐"?};
double[]?prices?=?{?15.0,?30.0,?35.0,?90.0,?20.0?};
int[]?praiseNums?=?new?int[5];
//?在初始化6個(gè)數(shù)組用于存儲(chǔ)訂單信息
String[]?names?=?new?String[5];//?保存訂餐人姓名
String[]?dishMegs?=?new?String[5];//?保存所選菜品名
int[]?dishNums?=?new?int[5];//?保存所選菜品份數(shù)
int[]?times?=?new?int[5];//?保存送餐時(shí)間
String[]?addresses?=?new?String[5];//?保存送餐地址
int[]?states?=?new?int[5];//?保存訂單狀態(tài):0表示已預(yù)訂,1表示已完成
double[]?sumPrices?=?new?double[5];//?保存訂單的總金額
//?初始化2條訂單信息
//?第1條
names[0]?=?"王大錘";
dishMegs[0]?=?"辣子雞丁";
dishNums[0]?=?2;
times[0]?=?12;
addresses[0]?=?"莞太路3號(hào)";
states[0]?=?0;
sumPrices[0]?=?70.0;
//?第2條
names[1]?=?"王大柱";
dishMegs[1]?=?"麻婆豆腐";
dishNums[1]?=?1;
times[1]?=?19;
addresses[1]?=?"建設(shè)路2號(hào)";
states[1]?=?1;
sumPrices[1]?=?25.0;
/*?實(shí)現(xiàn)菜單切換?*/
System.out.println("歡迎使用“吃貨聯(lián)盟訂餐系統(tǒng)”");
int?num?=?1;//?用戶輸入0返回主菜單否則退出系統(tǒng)
boolean?isExit?=?false;//?標(biāo)記用戶是否退出系統(tǒng),true為退出
//?循環(huán)控制用戶輸入選擇并執(zhí)行
do?{
System.out.println("************************");
System.out.println("1、我要訂餐");
System.out.println("2、查看餐袋");
System.out.println("3、簽收訂單");
System.out.println("4、刪除訂單");
System.out.println("5、我要點(diǎn)贊");
System.out.println("6、退出系統(tǒng)");
System.out.println("************************");
System.out.print("請(qǐng)選擇:");
num?=?input.nextInt();//?用戶輸入所要選擇進(jìn)行的操作
/*?使用switch結(jié)構(gòu)來(lái)建立選擇內(nèi)容?*/
switch?(num)?{
case?1://?我要訂餐
System.out.println("***我要訂餐***");
boolean?isAdd?=?false;//?記錄是否可以點(diǎn)餐
for?(int?i?=?0;?i??names.length;?i++)?{
if?(names[i]?==?null)?{
isAdd?=?false;
System.out.print("請(qǐng)輸入訂餐人姓名:");
String?name?=?input.next();
System.out.println("序號(hào)"?+?"\t"?+?"菜名"?+?"\t\t"?+?"單價(jià)"?+?"\t"?+?"點(diǎn)贊數(shù)");
for?(int?j?=?0;?j??dishNames.length;?j++)?{
System.out.println(
(j?+?1)?+?"\t"?+?dishNames[j]?+?"\t\t"?+?prices[j]?+?"元"?+?"\t"?+?praiseNums[j]);
}
System.out.print("請(qǐng)選擇您要點(diǎn)的菜品編號(hào):");
int?chooseDish?=?input.nextInt();
String?dishMeg?=?dishNames[chooseDish?-?1];
System.out.print("請(qǐng)選擇您需要的份數(shù):");
int?number?=?input.nextInt();
System.out.print("請(qǐng)輸入送餐時(shí)間(送餐時(shí)間是10點(diǎn)至20點(diǎn)間整點(diǎn)送餐):");
int?time?=?input.nextInt();
while?(time??10?||?time??20)?{
System.out.print("您的輸入有誤,請(qǐng)輸入10-20間的整數(shù)");
time?=?input.nextInt();
}
System.out.print("請(qǐng)輸入送餐地址:");
String?address?=?input.next();
//?默認(rèn)可以預(yù)定,不用寫訂單狀態(tài)
System.out.println("訂餐成功!");
System.out.println("您定的是:"?+?dishNames[chooseDish?-?1]?+?number?+?"份");
System.out.println("送餐時(shí)間:"?+?time?+?"點(diǎn)");
double?sumPrice?=?prices[chooseDish?-?1]?*?number;//?計(jì)算餐費(fèi)
double?sendMoney?=?(sumPrice?=?50)???0?:?5;//?計(jì)算送餐費(fèi)
System.out.println("餐費(fèi):"?+?sumPrice?+?"元,"?+?"送餐費(fèi)"?+?sendMoney?+?"元,"?+?"總計(jì):"
+?(sumPrice?+?sendMoney)?+?"元。");
//?添加數(shù)據(jù)
names[i]?=?name;
dishMegs[i]?=?dishMeg;
times[i]?=?time;
dishNums[i]?=?number;
addresses[i]?=?address;
sumPrices[i]?=?sumPrice?+?sendMoney;
break;
}
if?(isAdd)?{
System.out.println("對(duì)不起,您的餐袋已滿!");
}
}
break;
case?2://?查看餐袋
System.out.println("***查看餐袋***");
System.out.println("序號(hào)\t訂餐人\t餐品名稱\t餐品數(shù)量\t送餐時(shí)間\t送餐地址\t總金額\t訂單狀態(tài)");
for?(int?i?=?0;?i??names.length;?i++)?{
if?(names[i]?!=?null)?{
String?state?=?(states[i]?==?0)???"已預(yù)訂"?:?"已完成";
System.out.println((i?+?1)?+?"\t"?+?names[i]?+?"\t"?+?dishMegs[i]?+?"\t"?+?dishNums[i]?+?"份"
+?"\t"?+?times[i]?+?"\t"?+?addresses[i]?+?"\t"?+?sumPrices[i]?+?"元"?+?"\t"?+?state);
}
}
break;
case?3://?簽收訂單
System.out.println("***簽收訂單***");
boolean?isSignFind?=?false;
System.out.print("請(qǐng)選擇要簽收的訂單序號(hào):");
int?sign?=?input.nextInt();
for?(int?i?=?0;?i??names.length;?i++)?{
if?(names[i]?!=?null??states[i]?==?0??sign?==?i?+?1)?{
states[i]?=?1;
System.out.println("訂單簽收成功!");
isSignFind?=?true;//?標(biāo)記已找到的訂單
}?else?if?(names[i]?!=?null??states[i]?==?1??sign?==?i?+?1)?{
System.out.println("您選擇的訂單已完成簽收,不能再次簽收!");
isSignFind?=?true;//?標(biāo)記已找到的訂單
}
}
if?(!isSignFind)?{
System.out.println("您選擇的訂單不存在!");
}
break;
case?4://?刪除訂單
System.out.println("***刪除訂單***");
boolean?isDelFind?=?false;
System.out.print("請(qǐng)輸入要?jiǎng)h除的訂單序號(hào):");
int?delID?=?input.nextInt();
for?(int?i?=?0;?i??names.length;?i++)?{
//?根據(jù)狀態(tài)值判斷能不能刪除,只有已完成的才能刪除
if?(names[i]?!=?null??states[i]?==?1??delID?==?i?+?1)?{
isDelFind?=?true;
for?(int?j?=?delID?-?1;?j??names.length?-?1;?j++)?{
names[j]?=?names[j?+?1];
dishMegs[j]?=?dishMegs[j?+?1];
dishNums[j]?=?dishNums[j?+?1];
times[j]?=?times[j?+?1];
addresses[j]?=?addresses[j?+?1];
states[j]?=?states[j?+?1];
sumPrices[j]?=?sumPrices[j?+?1];
}
//?將最后一位清空
names[names.length?-?1]?=?null;
dishMegs[names.length?-?1]?=?null;
dishNums[names.length?-?1]?=?0;
times[names.length?-?1]?=?0;
addresses[names.length?-?1]?=?null;
states[names.length?-?1]?=?0;
sumPrices[names.length?-?1]?=?0;
System.out.println("刪除訂單成功!");
break;
}?else?if?(names[i]?!=?null??states[i]?==?0??delID?==?i?+?1)?{
isDelFind?=?true;
System.out.println("您選擇的訂單未簽收,不能刪除!");
break;
}
}?//?未找到的訂單不能刪除
if?(!isDelFind)?{
System.out.println("您要?jiǎng)h除的訂單不存在!");
}
break;
case?5://?我要點(diǎn)贊
System.out.println("***我要點(diǎn)贊***");
//?顯示菜品信息
System.out.println("序號(hào)\t菜名\t單價(jià)");
for?(int?i?=?0;?i??dishNames.length;?i++)?{
String?priaiseNum?=?(praiseNums[i]??0)???praiseNums[i]?+?"贊"?:?"";
System.out.println((i?+?1)?+?"\t"?+?dishNames[i]?+?"\t"?+?prices[i]?+?"元"?+?priaiseNum);
}
System.out.print("請(qǐng)選擇您要點(diǎn)贊的菜品序號(hào):");
int?number?=?input.nextInt();
praiseNums[number?-?1]++;
System.out.println("點(diǎn)贊成功");
break;
case?6://?退出系統(tǒng)
isExit?=?true;
break;
default://?退出系統(tǒng)
isExit?=?true;
break;
}
//?返回主界面
if?(!isExit)?{
System.out.print("輸入0返回:");
num?=?input.nextInt();
}?else?{
break;
}
}?while?(num?==?0);
System.out.println("謝謝惠顧,歡迎您再次使用!");
input.close();
}
}
就是做一個(gè)分頁(yè)查詢唄,定義好sql語(yǔ)句,直接傳頁(yè)數(shù)過(guò)來(lái),通過(guò)sql查詢對(duì)應(yīng)的數(shù)據(jù)展示即可
這個(gè)應(yīng)該不難的,按鈕就是用Jbutton來(lái)實(shí)現(xiàn),jbutton上是可以嵌入圖片的,把按鈕放在Jpanel,再來(lái)布局,會(huì)好看一些。
作為一個(gè)自己有餐飲系統(tǒng)的餐飲老板,我覺(jué)得還是很適合回答這個(gè)問(wèn)題的
1.首先要明確一點(diǎn):功能是餐飲人自己來(lái)想
餐飲系統(tǒng)對(duì)一個(gè)餐飲運(yùn)營(yíng)非常重要,尤其是現(xiàn)在的餐飲數(shù)字化時(shí)代,餐飲人有自己的前瞻性,就避免一些一開發(fā)出來(lái),功能就過(guò)時(shí)的情況??梢哉f(shuō)我們以后餐飲的大小經(jīng)營(yíng)都得依靠餐飲系統(tǒng)來(lái)輔助完成
2.有自己靠譜的技術(shù)團(tuán)隊(duì)
不管是自己有認(rèn)識(shí)的朋友還是自己找的團(tuán)隊(duì)都得靠譜哈,因?yàn)楹罄m(xù)的一些更新啊還是得更新且修改
3.既然要開發(fā),那只有餐飲點(diǎn)菜系統(tǒng)是不夠的。
可能你還沒(méi)有這個(gè)意識(shí)吧,就是隨著我們現(xiàn)在互聯(lián)網(wǎng)的強(qiáng)大和主要消費(fèi)人群的變換,只要餐飲是智能化已經(jīng)完全不能滿意大體趨勢(shì)的需求了
舉個(gè)例子吧,就拿我們會(huì)員來(lái)說(shuō)。會(huì)員對(duì)餐飲發(fā)展非常重要這點(diǎn)是毋庸置疑的吧。傳統(tǒng)餐飲是老板或是經(jīng)理記得,這個(gè)人她到底是不是我們的會(huì)員,又或者是等結(jié)賬的時(shí)候客戶說(shuō),我是你們家店的會(huì)員,然后打點(diǎn)折之類的。這樣的服務(wù)完全區(qū)別不開,會(huì)員得不到特別的服務(wù),沒(méi)有差異性,顧客體驗(yàn)不好,那可能你的復(fù)購(gòu)率就降下去了,直接影響到我們的盈虧平衡點(diǎn)是否達(dá)到!
4.根據(jù)提出的功能進(jìn)行編程實(shí)現(xiàn),餐飲老板注意跟進(jìn)
我當(dāng)時(shí)每完成一個(gè)功能的實(shí)現(xiàn),我就很高興,很有滿足感。不過(guò)還是得團(tuán)隊(duì)靠譜啊,我當(dāng)時(shí)是找朋友做的現(xiàn)在的餐飲系統(tǒng)
再說(shuō)說(shuō)現(xiàn)在市面上一般的餐飲系統(tǒng)吧。
現(xiàn)在市面上大部分餐飲系統(tǒng)都不是餐飲人自己做的,即使有餐飲人參與也不過(guò)是背書而已。缺少了我上面說(shuō)的前瞻性,所以有很多的功能其實(shí)對(duì)于我們現(xiàn)在來(lái)說(shuō)是不夠的,而且不夠智能,不夠全面,所以不好用!
餐飲人不懂代碼,敲代碼又不懂餐飲,所以就兩方面的人都有,各司其職得好!
首先你要有一個(gè)云打印機(jī)
然后就是調(diào)用的問(wèn)題,調(diào)用還不簡(jiǎn)單嗎,就是http,rpc(現(xiàn)在比較流行g(shù)rpc)調(diào)用啥的
網(wǎng)頁(yè)題目:飯店點(diǎn)餐系統(tǒng)java代碼,java餐館點(diǎn)菜系統(tǒng)
轉(zhuǎn)載來(lái)源:http://jinyejixie.com/article24/dssosje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、響應(yīng)式網(wǎng)站、服務(wù)器托管、動(dòng)態(tài)網(wǎng)站、網(wǎng)站維護(hù)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)