java加入购物车代码

急求java购物车代码

package bean;

import java.util.ArrayList;

import java.util.List;

/**

*

* @author Administrator

* 购物车类:

* 为了方便将商品信息绑订到session上面而设计的一个

* 工具,提供了商品的添加,删除,列表,计价,清空,

* 修改功能。

*/

public class Cart {

//items属性:用来保存商品

private ListCartItem items =

new ArrayListCartItem();

/**

* 将商品添加到购物车

*/

public boolean add(CartItem item){

for(int i=0;iitems.size();i++){

CartItem curr = items.get(i);

if(curr.getC().getId() == item.getC().getId()){

//该商品已经购买过

return false;

}

}

//没有购买过,则添加该商品

items.add(item);

return true;

}

/**

* 从购物车当中删除某件商品

*/

public void delete(int id){

for(int i=0;iitems.size();i++){

CartItem curr = items.get(i);

if(curr.getC().getId() == id){

items.remove(curr);

return;

}

}

}

/**

* 获得购物车中所有商品信息

*/

public ListCartItem list(){

return items;

}

/**

* 商品总价

*/

public double cost(){

double total = 0;

for(int i=0;iitems.size();i++){

CartItem curr = items.get(i);

total += curr.getC().getPrice() * curr.getQty();

}

return total;

}

/**

* 清空购物车中的所有商品

*/

public void clear(){

items.clear();

}

/**

* 修改购物车中某种商品的数量

*/

public void modify(int id,int qty){

for(int i=0;iitems.size();i++){

CartItem curr = items.get(i);

if(curr.getC().getId() == id){

curr.setQty(qty);

return;

}

}

}

}

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购物车代码?

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可能显示不出来你的效果。不满意得话我在给你编一个。

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

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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月27日 20:02:16
下一篇 2024年3月27日 20:10:35

相关推荐

  • java可以编写什么程序,JAVA怎么编写安卓程序

    java可以开发什么项目 1、java开发是用java开发一系列的“B/S”系统,包括各种办公系统、各种网站、电力的监控系统、报表系统等等。 2、java开发主要是bs,做网站(广域网、局域网)之类的东西,客户端程序相对来说较少。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。 3、嵌入式领域 Java在嵌入式领域发展空间很大。在这个平台上,你…

    2024年5月19日
    4100
  • java笛卡尔爱心,笛卡尔 爱心

    笛卡尔心形线公式是什么? 心形函数表达式是:r=a(1-sinθ)。r=a(1-sinθ)这个函数有两个变量,可对a赋值,然后进行求解。函数图像是心形线。这个方程又被称为“笛卡尔的爱情坐标公式”。相关故事 笛卡尔成为了公主的数学老师。 直角坐标方程 心形线的平面直角坐标系方程表达式分别为 x^2+y^2+a*x=a*sqrt(x^2+y^2) 和 x^2+y…

    2024年5月19日
    4800
  • 包含java程序员p5的词条

    java编程开发程序员需要掌握的开发工具? MongoDB MongoDB是使用非常广泛的工具,具有跨平台和面向文档数据库等优势,是现在使用最多的一种数据库。在使用过程中,有灵活的文档模型、高可用复制集、可扩展分片集群,还能进行实时监控等相关操作。 Jcreator Jcreator是专注于Java程序设计的集成式开发环境。具有小巧、易用、美观等优点,是适合…

    2024年5月19日
    3300
  • java.update,javaupdate

    java进程中update未生效 先检查你的jre是不是装好了,在命令提示符下运行java,如果提示java命令的用法,则说明装好了;如果没有,说明环境变量没有配置正确,上网找点资料就可以了。 String sql = “select * from admin”;rs = executeUpdate(sql);这样是不是在自己修改的时候能更舒服一点。建议而已…

    2024年5月19日
    4200
  • 关于java远程db2数据库的信息

    java怎么连接数据库? 要连接数据库,需要向java.sql.请求并获得Connection对象,该对象就代表一个数据库的连接。使用的(Stringurl,Stringusername,Stringpassword)方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。 首先第一步就是在网上下载一个mysql的数据库驱动jar包,类似mysql-…

    2024年5月19日
    3300
  • 黑客代码学习壁纸手机,黑客代码视频教学

    谁有黑客专用墙纸,桌面 linux系统里有这个屏保。windows里好像没有见过。 壁纸?动态……动态的一般就gif gif格式好像不能做桌面壁纸吧,而且动态大图会很大,所以一般动态图都很小!如果你想用来做壁纸……是不现实的。 Awesome Wallpapers 备受推崇的经典电脑壁纸网站,提供原创的桌面墙纸、三维动画墙纸、Wallery桌面幻灯片,类型丰…

    2024年5月19日
    3100
  • java设置http响应码的简单介绍

    java的HTTP请求:返回的响应为乱码,转码根本不起作用,请看下面代码。跪… 1、在服务端接收到参数时,iso-8859-1转gbk,无效。 在发送请求前将中文参数转码,utf-8转iso-8859-1,无效。 2、byte[] ba = method.getResponseBody();String str= new String(ba,UT…

    2024年5月19日
    4000
  • java中的节点流有哪些,java中的节点是什么意思

    java里面的节点流和处理流是什么意思? 在JAVA中的流按流动方向可以分为输入流及输出流两种,按流的处理位置可分为节点流和包装流。输入流,输出流是以程序为参考点来说的,所谓的输入流就是程序从中获取数据的流,输出流就是程序要其写数据的流。 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader.处理流的构…

    2024年5月19日
    3600
  • 写完java后保存在哪里,java程序怎么运行

    20条必背java知识点学生考专必备 1、,JDK、JRE和JVM之间的关系 JDK(Java Development Kit):Java开发工具包,jdk是整个Java开发的核心,它集成了jre和一些好用的小工具(javac.exe,java.exe,jar.exe等)。 2、必备的Java的基础知识字节基类型 当我们讨论二进制时,我们实际上是在讨论比特的…

    2024年5月19日
    2900
  • java读取resource,java读取resource下的文件路径

    java程序读取资源文件时路径如何指定 被读取的文件可以放在硬盘的任意位置。 只要你新建文件IO流对象的时候把文件的物理路径写对就行了。 .在运行时进行,每次启动 Java 应用程序和 JVM,都要指定类路径。运行时使用 -cp 选项来指定类路径,这里的运行时是指启动应用程序和 JVM 时。 都可以 ,绝对路径 跨平台性差 相对的强一点。 File类有两个常…

    2024年5月19日
    4500

发表回复

登录后才能评论



关注微信