java购物车原代码实现 java购物车应该用哪个集合实现
java购物车怎么写?
用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中元素转换成数组,以便使用循环进行遍历
Object[] foodItems = carts.keySet().toArray();
// 定义double变量total,用于存放购物车内餐品总价格
double total = 0;
List list = new ArrayList();
// 循环遍历购物车内餐品,并显示各个餐品的餐品名称,价格,数量
for (int i = 0; i foodItems.length; i++) {
// 从Map对象cart中取出第i个餐品,放入cartItem中
CartItemBean cartItem = (CartItemBean) carts
.get((String) foodItems[i]);
// 从cartItem中取出FoodBean对象
FoodBean food1 = cartItem.getFoodBean();
// 定义int类型变量quantity,用于表示购物车中单个餐品的数量
int quantity = cartItem.getQuantity();
// 定义double变量price,表示餐品单价
double price = food1.getFoodPrice();
// 定义double变量,subtotal表示单个餐品总价
double subtotal = quantity * price;
// // 计算购物车内餐品总价格
total += subtotal;
cartItem.setSubtotal(subtotal);
cartItem.setTotal(total);
list.add(cartItem);
}
return list;
}
/**
* 增加订餐
*/
public Map add(Map cart, String foodID) {
// 购物车为空
if (cart == null) {
cart = new HashMap();
}
FoodModel fd = new FoodModel(conn);
FoodBean food = fd.findFoodById(foodID);
// 判断购物车是否放东西(第一次点餐)
if (cart.isEmpty()) {
CartItemBean cartBean = new CartItemBean(food, 1);
cart.put(foodID, cartBean);
} else {
// 判断当前菜是否在购物车中,false表示当前菜没有被点过。。
boolean flag = false;
// 得到键的集合
Set set = cart.keySet();
// 遍历集合
Object[] obj = set.toArray();
for (int i = 0; i obj.length; i++) {
Object object = obj[i];
// 如果购物车已经存在当前菜,数量+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) {
// 把当前菜放到购物车里面
CartItemBean cartBean = new CartItemBean(food, 1);
cart.put(foodID, cartBean);
}
}
return cart;
}
/**
* 取消订餐
*/
public Map remove(Map cart, String foodID) {
cart.remove(foodID);
return cart;
}
/**
* 更新购物车信息
*
* @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;
}
}
你好,java购物车代码?
import java.awt.*;
import java.awt.event.*;
class ShopFrame extends Frame implements ActionListener
{ Label label1,label2,label3,label4;
Button button1,button2,button3,button4,button5;
TextArea text;
Panel panel1,panel2;
static float sum=0.0f;
ShopFrame(String s)
{ super(s);
setLayout(new BorderLayout());
label1=new Label("面纸:3元",Label.LEFT);
label2=new Label("钢笔:5元",Label.LEFT);
label3=new Label("书:10元",Label.LEFT);
label4=new Label("袜子:8元",Label.LEFT);
button1=new Button("加入购物车");
button2=new Button("加入购物车");
button3=new Button("加入购物车");
button4=new Button("加入购物车");
button5=new Button("查看购物车");
text=new TextArea("商品有:"+"\n",5,10);
text.setEditable(false);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
}
);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
button5.addActionListener(this);
panel1=new Panel();
panel2=new Panel();
panel1.add(label1);
panel1.add(button1);
panel1.add(label2);
panel1.add(button2);
panel1.add(label3);
panel1.add(button3);
panel1.add(label4);
panel1.add(button4);
panel2.setLayout(new BorderLayout());
panel2.add(button5,BorderLayout.NORTH);
panel2.add(text,BorderLayout.SOUTH);
this.add(panel1,BorderLayout.CENTER);
this.add(panel2,BorderLayout.SOUTH);
setBounds(100,100,350,250);
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==button1)
{ text.append("一个面纸、");
sum=sum+3;
}
else if(e.getSource()==button2)
{ text.append("一只钢笔、");
sum=sum+5;
}
else if(e.getSource()==button3)
{ text.append("一本书、");
sum=sum+10;
}
else if(e.getSource()==button4)
{ text.append("一双袜子、");
sum=sum+8;
}
else if(e.getSource()==button5)
{
text.append("\n"+"总价为:"+"\n"+sum);
}
}
}
public class Shopping {
public static void main(String[] args) {
new ShopFrame("购物车");
}
}
我没用Swing可能显示不出来你的效果。不满意得话我在给你编一个。
java中购物车的功能怎么实现
一般利用session,当货物提交后,让session失效,这样就可以完成简单的购物车。用cookie保存本地也可以。看你的具体需求了。
栏 目:Java编程
下一篇:没有了
本文标题:java购物车原代码实现 java购物车应该用哪个集合实现
本文地址:https://www.xiuzhanwang.com/a1/Javabiancheng/17369.html
您可能感兴趣的文章
- 04-10穿梭框后端JAVA代码 穿梭框如何获取右边数据
- 04-10java代码打印信息吗 java打印的代码
- 04-10家电控制系统JAVA代码 家电智能化控制系统
- 04-10五子棋游戏的java代码 基于java的五子棋游戏的设计代码
- 04-10矩阵乘法java代码 java编写矩阵乘法
- 04-10找质数java实现代码 找质数java实现代码怎么做
- 04-10前端写java代码 java写前端还是后端
- 04-10java改变字体代码 java怎么改变字体
- 04-10java学习代码库 java代码教学
- 04-10b2bjava开源代码的简单介绍
阅读排行
本栏相关
- 04-11java购物车原代码实现 java购物车应该
- 04-10穿梭框后端JAVA代码 穿梭框如何获取右
- 04-10java代码打印信息吗 java打印的代码
- 04-10家电控制系统JAVA代码 家电智能化控制
- 04-10五子棋游戏的java代码 基于java的五子
- 04-10矩阵乘法java代码 java编写矩阵乘法
- 04-10找质数java实现代码 找质数java实现代
- 04-10前端写java代码 java写前端还是后端
- 04-10java改变字体代码 java怎么改变字体
- 04-10java学习代码库 java代码教学
随机阅读
- 01-10HTML页面跳转及参数传递问题
- 01-11帝国CMS会员注册加入问答验证的方法
- 08-05DedeCMS首页网址中带index.html的解决方法
- 01-10C++ 中实现把EXCEL的数据导入数据库(
- 01-11帝国cms 二级域名绑定栏目的最完美的
- 01-11在Swift中如何使用正则表达式详解
- 01-10希尔排序算法的C语言实现示例
- 01-10C# WebApi Get请求方式传递实体参数的方
- 01-10Eclipse对printf()不能输出到控制台的快
- 01-10用vbs列出机器上所有能调用的组件