購買過程就是選擇好物品放入購物車然后結(jié)賬
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比殷都網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式殷都網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋殷都地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
import java.util.Vector;public class gouwuche { /**
* @param args
*/
private static Vector vec = new Vector();
public static void gw(String name,int price,int sum)
{
gouwuchebean bean;
if(vec.size()0)
{
//說明購物車內(nèi)有物品 進(jìn)來比對(duì) 看是否有一樣的東西 有的話讓數(shù)量+sum
bean = new gouwuchebean();
int j=0;//用來計(jì)數(shù)
for(int i=0;ivec.size();i++)
{
gouwuchebean bean1 = (gouwuchebean)vec.get(i);
if(bean1.getName().equals(name))
{
j++;
bean.setName(name);
bean.setPrice(price);
bean.setSum(sum+bean1.getSum());
vec.remove(i);//去掉原來的數(shù)據(jù)
vec.add(bean);//放入新的數(shù)據(jù)
}
}
if(j==0)
{
bean.setName(name);
bean.setPrice(price);
bean.setSum(sum);
vec.add(bean);
}
}
else
{
//如果集合是空的說明購物車內(nèi)沒有重復(fù)的 直接放入即可
bean = new gouwuchebean();
bean.setName(name);
bean.setPrice(price);
bean.setSum(sum);
vec.add(bean);
}
}
public static void show()
{
System.out.println("=============購物車當(dāng)前物品==============");
int sum = 0;//用來計(jì)一共有幾件物品
int pric = 0;//用來計(jì)共消費(fèi)金額
for(int i=0;ivec.size();i++)
{
gouwuchebean bean = (gouwuchebean)vec.get(i);
sum = sum+bean.getSum();
pric = pric+(bean.getPrice()*bean.getSum());
System.out.println("*第"+(i+1)+"種物品-----名稱:"+bean.getName()+"---數(shù)量是:"+bean.getSum()+"---單價(jià)是:"+bean.getPrice()+"元----共計(jì)"+(bean.getSum()*bean.getPrice()+"元"));
}
System.out.println("物品共計(jì)"+sum+"件 共計(jì)金額是:"+pric+"元");
System.out.println("=============歡迎使用購物車==============");
}
public static void main(String[] args) {
// TODO Auto-generated method stub gw("電視機(jī)",100,1);//選擇購買物品 價(jià)格和數(shù)量還有名字
gw("可口可樂",100,9);
gw("電視機(jī)",100,9);
gw("西瓜",10,5);
gw("電動(dòng)車",3000,2);
gw("奧迪A6",4000000,2);
show();
}}測(cè)試結(jié)果
以前學(xué)習(xí)java又做個(gè)實(shí)例,挺值得學(xué)習(xí)的。
1.首先我先列出我們所需要的java類結(jié)構(gòu)。
1)Database.java --------- 模擬存儲(chǔ)商品的數(shù)據(jù)庫。
2)McBean.java ------------ 商品實(shí)體類,一個(gè)普通的javabean,里面有商品的基本屬性。
3)OrderItemBean.java --- 訂單表。
4)ShoppingCar.java ------ 這個(gè)就是最主要的購物車,當(dāng)然比較簡(jiǎn)單。
5)TestShoppingCar.java --- 這個(gè)是測(cè)試類。
2.下面貼出具體代碼并帶關(guān)鍵注釋。
---Database.java
public class Database {
/*采用Map存儲(chǔ)商品數(shù)據(jù),為什么呢?我覺得這個(gè)問題你自己需要想下。
* Integer 為Map的key值,McBean為Map的value值。
*/
private static MapInteger, McBean data = new HashMapInteger, McBean();
public Database() {
McBean bean = new McBean();
bean.setId(1);
bean.setName("地瓜");
bean.setPrice(2.0);
bean.setInstuction("新鮮的地瓜");
data.put(1, bean);//把商品放入Map
bean = new McBean();
bean.setId(2);
bean.setName("土豆");
bean.setPrice(1.2);
bean.setInstuction("又好又大的土豆");
data.put(2, bean);//把商品放入Map
bean = new McBean();
bean.setId(3);
bean.setName("絲瓜");
bean.setPrice(1.5);
bean.setInstuction("本地絲瓜");
data.put(3, bean);//把商品放入Map
}
public void setMcBean(McBean mcBean){
data.put(mcBean.getId(),mcBean);
}
public McBean getMcBean(int nid) {
return data.get(nid);
}
}
---McBean.java
public class McBean {
private int id;//商品編號(hào)
private String name;//商品名
private double price;//商品價(jià)格
private String instuction;//商品說明
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getInstuction() {
return instuction;
}
public void setInstuction(String instuction) {
this.instuction = instuction;
}
}
---ShoppingCar.java
public class ShoppingCar {
private double totalPrice; // 購物車所有商品總價(jià)格
private int totalCount; // 購物車所有商品數(shù)量
private MapInteger, OrderItemBean itemMap; // 商品編號(hào)與訂單項(xiàng)的鍵值對(duì)
public ShoppingCar() {
itemMap = new HashMapInteger, OrderItemBean();
}
public void buy(int nid) {
OrderItemBean order = itemMap.get(nid);
McBean mb;
if (order == null) {
mb = new Database().getMcBean(nid);
order = new OrderItemBean(mb, 1);
itemMap.put(nid, order);
update(nid, 1);
} else {
order.setCount(order.getCount() + 1);
update(nid, 1);
}
}
public void delete(int nid) {
OrderItemBean delorder = itemMap.remove(nid);
totalCount = totalCount - delorder.getCount();
totalPrice = totalPrice - delorder.getThing().getPrice() * delorder.getCount();
}
public void update(int nid, int count) {
OrderItemBean updorder = itemMap.get(nid);
totalCount = totalCount + count;
totalPrice = totalPrice + updorder.getThing().getPrice() * count;
}
public void clear() {
itemMap.clear();
totalCount = 0;
totalPrice = 0.0;
}
public void show() {
DecimalFormat df = new DecimalFormat("¤#.##");
System.out.println("商品編號(hào)\t商品名稱\t單價(jià)\t購買數(shù)量\t總價(jià)");
Set set = itemMap.keySet();
Iterator it = set.iterator();
while (it.hasNext()) {
OrderItemBean order = itemMap.get(it.next());
System.out.println(order.getThing().getId() + "\t"
+ order.getThing().getName() + "\t"
+ df.format(order.getThing().getPrice()) + "\t" + order.getCount()
+ "\t" + df.format(order.getCount() * order.getThing().getPrice()));
}
System.out.println("合計(jì): 總數(shù)量: " + df.format(totalCount) + " 總價(jià)格: " + df.format(totalPrice));
System.out.println("**********************************************");
}
}
---OrderItemBean.java
public class OrderItemBean {
private McBean thing;//商品的實(shí)體
private int count;//商品的數(shù)量
public OrderItemBean(McBean thing, int count) {
super();
this.thing = thing;
this.count = count;
}
public McBean getThing() {
return thing;
}
public void setThing(McBean thing) {
this.thing = thing;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
---TestShoppingCar.java
package com.shop;
public class TestShoppingCar {
public static void main(String[] args) {
ShoppingCar s = new ShoppingCar();
s.buy(1);//購買商品編號(hào)1的商品
s.buy(1);
s.buy(2);
s.buy(3);
s.buy(1);
s.show();//顯示購物車的信息
s.delete(1);//刪除商品編號(hào)為1的商品
s.show();
s.clear();
s.show();
}
}
3.打印輸出結(jié)果
商品編號(hào) 商品名稱 單價(jià) 購買數(shù)量 總價(jià)
1 地瓜 ¥2 3 ¥6
2 土豆 ¥1.2 1 ¥1.2
3 絲瓜 ¥1.5 1 ¥1.5
合計(jì): 總數(shù)量: ¥5 總價(jià)格: ¥8.7
**********************************************
商品編號(hào) 商品名稱 單價(jià) 購買數(shù)量 總價(jià)
2 土豆 ¥1.2 1 ¥1.2
3 絲瓜 ¥1.5 1 ¥1.5
合計(jì): 總數(shù)量: ¥2 總價(jià)格: ¥2.7
**********************************************
商品編號(hào) 商品名稱 單價(jià) 購買數(shù)量 總價(jià)
合計(jì): 總數(shù)量: ¥0 總價(jià)格: ¥0
**********************************************
4.打字太累了,比較匆忙,但是主要靠你自己領(lǐng)會(huì)。哪里不清楚再提出來。
java教程購物車Struts Hibernate實(shí)現(xiàn)shopcart
全部代碼在
原理:利用session會(huì)話保持用戶一次購物操作的購買記錄,當(dāng)用戶點(diǎn)擊“結(jié)帳”后將保存在session中的hashmap容器中的信息insert到DB中,完成一次購物操作。
模塊所需要配置文件:hibernate.cfg.xml ,TableGoods.hbm.xml ,struts-config.xml
模塊對(duì)應(yīng)的jsp有:index.jsp(商品信息一覽頁面),buy.jsp(購買操作后的商品清單頁面)
模塊對(duì)應(yīng)的action有:IndexAction (實(shí)現(xiàn)對(duì)DB中的商品表信息結(jié)果集的遍歷,并轉(zhuǎn)向?qū)?yīng)的index.jsp)
ListAction (將JSP上的商品信息存入hashmap容器,并轉(zhuǎn)向?qū)?yīng)的buy.jsp)
UpdateAction (對(duì)buy.jsp頁面上的商品數(shù)量修改的業(yè)務(wù)邏輯處理)
DeleteAction (對(duì)buy.jsp頁面上的商品列表信息的業(yè)務(wù)邏輯處理)
模塊所需的相關(guān)Java容器選擇:存儲(chǔ)商品id,sum,price,name,allprices信息用hashmap,主要是考慮到其key重復(fù)后可以覆蓋上次的value記錄。存儲(chǔ)點(diǎn)擊商品后的商品id用list容器,主要考慮到list是有序并可以重復(fù)的特點(diǎn),用其可以跟蹤用戶多次點(diǎn)擊相同商品的操作,并對(duì)商品的數(shù)量進(jìn)行相應(yīng)的增加。
模塊主要Action類如下:
IndexAction:
public class IndexAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
//查找商品表中的所有商品信息
GoodsDAO dao = new GoodsDAO();
List list = dao.find();
request.setAttribute("lister",list);
return mapping.findForward("a");
}
}
ListAction:
public class ListAction extends Action {
// 將hashmap中value轉(zhuǎn)到list中
public static List getList(HashMap hs) {
List list = new ArrayList();
Iterator itr = hs.keySet().iterator();
while (itr.hasNext()) {
list.add(hs.get(itr.next()));
}
return list;
}
//優(yōu)化后的getList方法
public static List getList(HashMap hs) {
return new ArrayList(hs.values());
}
全部代碼在
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;public class ShoppingCartManager {
HashMapString, String hm=new HashMapString, String();
float totlePrice=0;
//添加book到購物車
public void addBook(String bookId,String bookQuantity){
if(hm.containsKey(bookId)){
int value=Integer.parseInt(hm.get(bookId));
value+=Integer.parseInt(bookQuantity);
hm.put(bookId, value+"");
}else{
hm.put(bookId, bookQuantity);
}
}
//修改數(shù)量
public void updateQuantity(String bookId,String bookQuantity){
hm.put(bookId, bookQuantity);
}
//獲取購物車的所有信息 并計(jì)算總價(jià)
public ArrayListBookBean getShoppingCart(){
ArrayListBookBean al=new ArrayListBookBean();
IteratorString i=hm.keySet().iterator();
String ids="";
BookTableManager btm=new BookTableManager();
while(i.hasNext()){
ids=ids+","+i.next();
}
al= btm.selectByBookIds(ids);
totlePrice=0; //清空總價(jià),防止無限累計(jì)
for(int j=0;jal.size();j++){
BookBean bb=al.get(j);
totlePrice+=bb.getPrice()*Integer.parseInt(getQuantityById(bb.getBookId()+""));
}
return al;
}
//獲取總價(jià)
public float getTotlePrice(){
return totlePrice;
}
//根據(jù)ID獲取數(shù)量
public String getQuantityById(String id){
String quantity=hm.get(id);
return quantity;
}
//清空購物車
public void clear(){
hm.clear();
}
//刪除購物車中的一本書
public void deleteById(String id){
hm.remove(id);
}
}
算是最簡(jiǎn)單的吧
package cn.job01;
import java.util.Scanner;
public class Lx07 {
public static void choice() {
System.out.println("登陸菜單 ");
System.out.println("1登陸系統(tǒng)");
System.out.println("2退出");
}
static void choice1() {
System.out.println("購物管理系統(tǒng)客戶信息");
System.out.println("1顯示所有客戶信息");
System.out.println("2添加客戶信息");
System.out.println("3修改客戶信息");
System.out.println("4查詢客戶信息");
}
static void choice2() {
System.out.println("購物管理系統(tǒng)真情回饋");
System.out.println("1幸運(yùn)大放送");
System.out.println("2幸運(yùn)抽獎(jiǎng)");
System.out.println("3生日問候");
}
public static void main(String[] args) {
choice();
Scanner input = new Scanner(System.in);
System.out.println("請(qǐng)輸入1or2");
int num = input.nextInt();
switch (num) {
case 1:
System.out.println("主菜單");
System.out.println("1客戶信息管理");
System.out.println("2購物結(jié)算");
System.out.println("3真情回饋");
System.out.println("4注銷");
break;
}
System.out.println("選擇輸入數(shù)字");
int num1 = input.nextInt();
switch (num1) {
case 1:
choice1();
break;
case 2:
System.out.println("購物結(jié)算");
break;
case 3:
choice2();
break;
case 4:
choice();
break;
}
}
}
文章標(biāo)題:跨境購物流程java代碼,跨境購物流程java代碼
地址分享:http://m.newbst.com/article4/dssipie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、微信小程序、定制網(wǎng)站、外貿(mào)建站、App設(shè)計(jì)、網(wǎng)站內(nèi)鏈
聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)