
import javautilArrayList;
import javautilHashMap;
import javautilIterator;public class ShoppingCartManager {
HashMap<String, String> hm=new HashMap<String, String>();
float totlePrice=0;
//添加book到购物车
public void addBook(String bookId,String bookQuantity){
if(hmcontainsKey(bookId)){
int value=IntegerparseInt(hmget(bookId));
value+=IntegerparseInt(bookQuantity);
hmput(bookId, value+"");
}else{
hmput(bookId, bookQuantity);
}
}
//修改数量
public void updateQuantity(String bookId,String bookQuantity){
hmput(bookId, bookQuantity);
}
//获取购物车的所有信息 并计算总价
public ArrayList<BookBean> getShoppingCart(){
ArrayList<BookBean> al=new ArrayList<BookBean>();
Iterator<String> i=hmkeySet()iterator();
String ids="";
BookTableManager btm=new BookTableManager();
while(ihasNext()){
ids=ids+","+inext();
}
al= btmselectByBookIds(ids);
totlePrice=0; //清空总价,防止无限累计
for(int j=0;j<alsize();j++){
BookBean bb=alget(j);
totlePrice+=bbgetPrice()IntegerparseInt(getQuantityById(bbgetBookId()+""));
}
return al;
}
//获取总价
public float getTotlePrice(){
return totlePrice;
}
//根据ID获取数量
public String getQuantityById(String id){
String quantity=hmget(id);
return quantity;
}
//清空购物车
public void clear(){
hmclear();
}
//删除购物车中的一本书
public void deleteById(String id){
hmremove(id);
}
}
如果只是 在控制台打出这个 东西还是太简单了。只要syso就行了。
但是我想 你应该不是要这样吧,比如你的购物清单是不是输入的
折扣也是输入的
然后给多少钱是输入的
然后算找零和积分
所以还是你的需求描述的太不清楚了。
查询的资料,找到三种方法:
1用cookie实现购物车;
2用session实现购物车;
3用cookie和数据库(购物车信息持久化)实现购物车;
=========================================================================
分析一下这三种方法的优缺点:
1单纯有cookie实现购物车,这样的购物车不是很理想,设想一下,如果客户端的浏览器把cookie给禁用了,
这种方法就会在这里流产
2session中保存购物车的信息,这个只是在一个会话中可用,如果用户没有登录,或者说登录了以后,添加购物车,在关闭浏览器
或者登出后,之前所添加的购物车通通都流产啦
其实每次遇到不会的都来求助是很不方便的
如果你想了解和学习更多的JAVA编程,成为一名真正的JAVA高手,你可以来这个裙,前面三个数是四二六 中间是三九六 后面是二八四
把这串数字连起来就可以了,这是一个高手的学习裙,在这里你可以学习到书上学不到的知识,还有大牛相互讨论并指导你解答哦!
3我这里要说就是这种方法啦
主要的流程:
A用户登录前的数据流:用户在没有登录系统的时候,对喜欢的商品进行添加购物车,那么这个时候,我们可以把购物车信息保存
到cookie中,这里会涉及到cookie的添加,修改 *** 作;也即如果之前在cookie中不存对应的cookie,则就对cookie进行添加 *** 作。
如果在cookie中存在对应的cookie,那么,这时候,就要对cookie进行修改 *** 作了(这里涉及到用户对同一个商品进行多次添加购物车的情况)。
B用户登录后的数据流:用户在登录后,系统首先做的第一件事就是去获取对应的cookies,如果存在相关的购物车cookies,那么就对该购物车
信息进行相应用户User的持久化 *** 作,要么添加,要么修改。(添加 *** 作:该用户所对应的购物车如果没有相应的信息进行添加 *** 作;修改 *** 作:类似的,
如果存在对应用户的购物车信息,就进行修改 *** 作)。用户登录后,也可以进行购物车的添加 *** 作,不过,这里不是添加到cookie中,而是直接持久化到
数据库中。注:用户登录后的数据都是和数据库打交道。
===========================================
以上就是我的见解 如果有什么不懂可以问我 想学习的童鞋秒懂 供参考
可以编写,要用Java做网站就要学习J2EE(Java编程分为J2SE,J2EE和J2ME),简单的应用使用Servlet加JSP即可。可以使用Eclipse或者MyEclipse作为开发工具。
package bean;
import javautilArrayList;
import javautilList;
/
@author Administrator
购物车类:
为了方便将商品信息绑订到session上面而设计的一个
工具,提供了商品的添加,删除,列表,计价,清空,
修改功能。
/
public class Cart {
//items属性:用来保存商品
private List<CartItem> items =
new ArrayList<CartItem>();
/
将商品添加到购物车
/
public boolean add(CartItem item){
for(int i=0;i<itemssize();i++){
CartItem curr = itemsget(i);
if(currgetC()getId() == itemgetC()getId()){
//该商品已经购买过
return false;
}
}
//没有购买过,则添加该商品
itemsadd(item);
return true;
}
/
从购物车当中删除某件商品
/
public void delete(int id){
for(int i=0;i<itemssize();i++){
CartItem curr = itemsget(i);
if(currgetC()getId() == id){
itemsremove(curr);
return;
}
}
}
/
获得购物车中所有商品信息
/
public List<CartItem> list(){
return items;
}
/
商品总价
/
public double cost(){
double total = 0;
for(int i=0;i<itemssize();i++){
CartItem curr = itemsget(i);
total += currgetC()getPrice() currgetQty();
}
return total;
}
/
清空购物车中的所有商品
/
public void clear(){
itemsclear();
}
/
修改购物车中某种商品的数量
/
public void modify(int id,int qty){
for(int i=0;i<itemssize();i++){
CartItem curr = itemsget(i);
if(currgetC()getId() == id){
currsetQty(qty);
return;
}
}
}
}
以上就是关于购物车的Java代码全部的内容,包括:购物车的Java代码、【高分悬赏】求、帮我写个java购物结算超小程序(有图片)、急求一个用java web编写的购物车程序,期末考试要用。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)