java中购物车

java购物车的功能怎么实现

一般利用session,当货物提交后,让session失效,这样就可以完成简单的购物车。用cookie保存本地也可以。看你的具体需求了。

如何用java做一个购物车,用redis来缓存商品id

用java做一个购物车有三种方法:

1.用cookie实现购物车;

2.用session实现购物车;

3.用cookie和数据库(购物车信息持久化)实现购物车。

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简单的购物车代码

package Test;

import java.util.LinkedHashMap;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

init();//初始化

MapString,String map = new LinkedHashMap();

while(true){

Scanner in= new Scanner(System.in);

map = buy(in,map);//选择

System.out.println();

System.out.println(“还要继续购物吗?(Y/N)”);

String jx = in.nextLine();

if(jx.equals(“N”)){

break;

}

}

print(map);

}

public static void print(MapString, String m){

System.out.println(“\n\n\n******************”);

System.out.println(”       购物车清单”);

Integer hj = 0;

for (EntryString, String entry : m.entrySet()) {

String key = entry.getKey();

String value = entry.getValue();

if(key.equals(“1”)){

hj += Integer.parseInt(value)*3;

System.out.println(“哇哈哈纯净水: “+value+”件,合计:¥”+Integer.parseInt(value)*3);

}else if(key.equals(“2”)){

hj += Integer.parseInt(value)*5;

System.out.println(“康师傅方便面: “+value+”件,合计:¥”+Integer.parseInt(value)*5);

}else if(key.equals(“3”)){

hj += Integer.parseInt(value)*4;

System.out.println(“可口可乐: “+value+”件,合计:¥”+Integer.parseInt(value)*4);

}

}

System.out.println(“合计金额:¥”+hj);

}

public static void init(){

System.out.println(“******************”);

System.out.println(“\t商品列表\n”);

System.out.println(”              商品名称                价格”);

System.out.println(“1.   哇哈哈纯净水        ¥3”);

System.out.println(“2.   康师傅方便面        ¥5”);

System.out.println(“3.   可口可乐                ¥4”);

System.out.println(“******************”);

}

public static MapString,String buy(Scanner scan,MapString,String m){

System.out.print(“请输入编号:”);

String bh = scan.nextLine();

System.out.print(“请输入购买数量:”);

String num = scan.nextLine();

if(m.size()0  m.keySet().contains(bh)){

m.put(bh,(Integer.parseInt(bh)+Integer.parseInt(num))+””);

}else{

m.put(bh, num);

}

return m;

}

}

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中购物车

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月25日 13:18:59
下一篇 2024年3月25日 13:29:34

相关推荐

  • 包含md5解密java代码的词条

    求MD5加密解密代码 我简单说下吧,加密就是存进数据库的时候变成MD5存进去,解密,就是对比的时候,将用户输入的密码转换成MD5和数据库里面的对比。 MD5 是破坏性加密,也就是说是无法由密文直接解密的。详细说明如下:MD5是输入不定长度讯息,输出固定长度128-bits的演算法。经过程式流程,生成四个32位元资料,最後联合起来成为一个128-bits杂凑。…

    2024年5月17日
    4500
  • java的web项目怎样分层,javaweb分层设计思想

    javaweb项目的分页 实现原理很简单,就是建立一个Page类,里面放当前访问的页数(这个是从客户浏览器传到后台的数据,所以你的分页需要用它来定位记录的条目)和每一页显示的记录行数。然后通过分页计算就可以得出下列数据。 网络的问题。javaweb在分页查询中,刚开始的当前页面为负一是网络连接异常导致。首先打开电脑检查网络。其次打开javaweb进行测试网络…

    2024年5月17日
    3000
  • 关于java怎么输出2个变量的信息

    java如何返回二个变量 1、return数组或集合。如果只返回2个参数或已确定个数,则返回数组(同一类型使用类型数组,不同类型使用Object[])。参数个数未知时,使用集合。组成一个字符串,使用分隔符分隔。接受后截取或分割。 2、java中可以使用System.out.printf()同时输出多个变量。instanceof关键字用来检测变量类。基本数据类…

    2024年5月17日
    3500
  • java显示pdf,java显示找不到符号

    java处理pdf文件 :点击打开工具,打开主页面上有三个功能进行选择,我们选择pdf文件压缩。2:这这个页面中我们选择pdf文件在这里打开,点击“添加文件”按钮将文件添加进来。3:然后在页面中点击“开始压缩”就可以开始压缩文件了。 java打开PDF需要借助其他的jar包的,如果我没记错的话,然后查看相应的API接口。 用Java简单的读取pdf文件中的数…

    2024年5月17日
    3400
  • eclipse配置java环境,eclipse设置java环境

    怎么配置eclipse+java开发环境 首先需要安装JDK。一步一步来就行。注意选择安装路径,或者是默认路径即可。比如我选择的安装目录为:E:\Program Files (x86)\Java\ 3接下来进行Java环境变量配置。 百度一下“eclipse”,去官网下载eclipse,这里下载的是Eclipse IDE for Java Developer…

    2024年5月17日
    2900
  • java连接postgresql,Java连接数据库

    学生程序都在用的10款提高效率的工具 ·Alfred查询和搜索工具 优点:被称作效率神器。Alfred是 Mac系统上一款专注于效率提升的著名应用,它能帮你快速打开网页、快速进行自定义搜索查看剪贴板历史、快速查询单词等等。 IDE(集成开发环境)IDE是一种综合性的软件开发工具,它集成了多种功能,如代码编辑、编译、调试、版本控制等。常见的IDE有Eclips…

    2024年5月17日
    4100
  • 模拟京东登陆java,京东登录的js代码

    java使用httpclient实现京东自动登录,登录页面的解析action 想要实现一个简单的登录功能的话,可以使用Servlet+jsp来实现,jsp编写登录界面和登录后的要出现信息界面和登录失败的信息界面,Servlet类用来对表单提交的用户名和密码进行判断和处理。 直接用HttpClient 这个类库,每次你都用同一个cookie去登录就可以保持se…

    2024年5月17日
    4200
  • 嵌入式转java开发,嵌入式开发 java

    嵌入式系统开发和JAVA软件开发的关系 1、嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。 2、一般所说的嵌入式开发,主要用C/C++语言,涉及底层比较多,主要有嵌入式操作系统(如linux,ucos,wince等)的裁减移植,驱动…

    2024年5月17日
    4100
  • java启动程序,java启动程序在哪里

    linux启动java程序命令4个单词 1、top命令:plaintextCopy codetop这个命令会实时显示系统的进程和资源使用情况。在top命令的输出中,可以按下Shift + H(大写H)来显示所有Java进程,或者按下Shift + L(大写L)来显示所有线程。 2、使用linux运行java程序具体步骤如下:Windows上使用eclipse…

    2024年5月17日
    2800
  • java保存录音的函数,java怎么保存输入的信息

    java中如何实现数据的保存,以供下次使用???如何保存,跪求?? 1、根据给定的 File 对象构造一个 FileWriter 对象。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。 2、事实上可以通过把链表中的数据保存在文件中,来实现你的需求。只是变换了实现方式。你可以查阅Java 文件读写方面的资料。 3、然后,你需要使用 I…

    2024年5月17日
    3500

发表回复

登录后才能评论



关注微信