public?class?Test?{
目前創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、夏河網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
public?static?void?main(String[]?args)?{
System.out.println("請(qǐng)問(wèn)您需要消費(fèi)多少錢?");
Scanner?scan=new?Scanner(System.in);
double?sum=0d;
double?money=scan.nextDouble();
sum+=money;
System.out.println("本次消費(fèi):"+money+"元");
System.out.println("請(qǐng)問(wèn)您是否需要繼續(xù)消費(fèi)?(輸入1,表示繼續(xù)消費(fèi))");
int?isContinue=scan.nextInt();
while(true){
if(isContinue==1){
System.out.println("請(qǐng)問(wèn)您需要消費(fèi)多少錢?");
money=scan.nextDouble();
sum+=money;
System.out.println("本次消費(fèi):"+money+"元");
System.out.println("請(qǐng)問(wèn)您是否需要繼續(xù)消費(fèi)?(輸入1,表示繼續(xù)消費(fèi))");
isContinue=scan.nextInt();
}else{
System.out.println("本次消費(fèi)結(jié)束");
System.out.println("總共消費(fèi):"+sum+"元");
break;
}
}
}
}
用Vector 或者是HashMap去裝
下面有部分代碼你去看吧
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;
}
}
先確定需求,概要設(shè)計(jì),然后詳細(xì)設(shè)計(jì),測(cè)試,完成。不用SSH不如用jsp+javaBean
其實(shí)么微信開(kāi)發(fā)也就是調(diào)用他的API獲取用戶的操作內(nèi)容
其實(shí)可以先拋開(kāi)微信,先把后臺(tái)和功能做好
我之前做個(gè)訂餐系統(tǒng),是有個(gè)硬件需要購(gòu)買的,這個(gè)硬件可以打印訂單和提醒。
硬件廠家會(huì)提供接口給你的,用戶購(gòu)買成功給這個(gè)接口穿參數(shù),硬件就可以接收后打印訂單了同時(shí)也有短信提醒。
當(dāng)系統(tǒng)做好了,只需要熟悉一下微信的接口,可以獲取用戶輸入的內(nèi)容,根據(jù)用戶的內(nèi)容獲取系統(tǒng)的訂餐信息返回到微信窗口即可
比如 : 你這邊推送 套餐信息,用戶輸入套餐編號(hào),你根據(jù)編號(hào)去查詢這個(gè)套餐信息,調(diào)用硬件打印方法和短信提醒方法再返回信息到微信窗口給用戶,大概的流程就是這樣的。
其實(shí)這涉及到的接口真的很少的,跟你開(kāi)發(fā)語(yǔ)言也沒(méi)關(guān)系。
1.前臺(tái)營(yíng)業(yè):日常營(yíng)業(yè)操作
日始日結(jié):設(shè)定每個(gè)營(yíng)業(yè)日的開(kāi)始和結(jié)束
接待預(yù)訂:顯示餐桌狀態(tài),進(jìn)行訂餐
點(diǎn)菜收銀:開(kāi)臺(tái)、點(diǎn)菜、結(jié)賬、交班,提供最主要的營(yíng)業(yè)功能
2.營(yíng)業(yè)設(shè)置:日常營(yíng)業(yè)所必需的數(shù)據(jù)庫(kù)設(shè)定
酒菜設(shè)置:按類別(酒水飲料、涼菜、熱菜、主食、包桌、服務(wù)用品等)設(shè)置酒菜數(shù)據(jù);
房臺(tái)設(shè)置:類別設(shè)置包房或餐臺(tái);
其他設(shè)置:付款方式(現(xiàn)金、銀行卡、贈(zèng)券、掛賬、免單)、點(diǎn)菜說(shuō)明等
3.賬務(wù)查詢:查詢各類單據(jù)和消費(fèi)情況
賬單查詢:查詢所有已結(jié)賬單
點(diǎn)單查詢:查詢所有歷史點(diǎn)單
掛賬查詢:查詢掛賬(簽單)客人消費(fèi)情況
4.輔助管理:日常營(yíng)業(yè)所需的其他管理功能
操作員管理:管理操作員信息,并設(shè)置系統(tǒng)操作權(quán)限和最低折扣值
掛賬管理:掛賬人信息錄入、修改、掛賬歸還
邏輯結(jié)構(gòu)設(shè)計(jì):
1、員工(員工編號(hào),姓名,性別,出生日期,政治面貌,學(xué)歷,身份證號(hào),聯(lián)系電話,聯(lián)系地址,員工狀態(tài),員工職務(wù),薪水,入職日期,備注)
2、酒菜表(酒菜編號(hào),酒菜名稱,單價(jià),各類,備注)
3、消費(fèi)單(消費(fèi)單號(hào),餐桌號(hào),折扣,付賬方式,結(jié)賬日期,賬單金額,顧客人數(shù),掛賬人編號(hào),收銀員編號(hào))
4、點(diǎn)單(點(diǎn)單號(hào),消費(fèi)單號(hào),菜號(hào),酒菜數(shù)量)
5、訂單(訂單編號(hào),訂單人,身份證號(hào),餐桌號(hào),訂金,聯(lián)系電話,訂餐日期,時(shí)間,備注)
6、餐桌表(餐桌號(hào),各類,狀態(tài),容量,服務(wù)員號(hào))
7、掛賬人信息(編號(hào),掛賬人名,身份證,聯(lián)系電話,聯(lián)系地址,注冊(cè)時(shí)間)
8、操作員表(編號(hào),用戶名,密碼,用戶權(quán)限,員工編號(hào))