当前位置:首页 » 网购平台 » java程序购物车
扩展阅读
宁波奥德赛优惠价格 2021-03-15 14:26:02
丹尼斯购物卡能挂失么 2021-03-15 14:25:58
淘宝购物指纹验证失败 2021-03-15 14:24:44

java程序购物车

发布时间: 2021-03-07 01:48:56

⑴ JAVA编程新手请教购物车程序

你用Scanner类取回控制台输入的String,然后用if判断一下是save还是query,如果你学了数据库就好办了专,如果没学,在save的时候就属把信息存入文件,query的时候在文件里读一行,if这行数据中是否有查询的关键字。
over同save。

⑵ java简单的购物车代码

packageTest;
importjava.util.LinkedHashMap;
importjava.util.Map;
importjava.util.Map.Entry;
importjava.util.Scanner;

publicclassTest{
publicstaticvoidmain(String[]args){
init();//初始化
Map<String,String>map=newLinkedHashMap<>();
while(true){
Scannerin=newScanner(System.in);
map=buy(in,map);//选择
System.out.println();
System.out.println("还要继续购物吗?(Y/N)");
Stringjx=in.nextLine();
if(jx.equals("N")){
break;
}
}
print(map);
}
publicstaticvoidprint(Map<String,String>m){
System.out.println(" ******************");
System.out.println("购物车清单");
Integerhj=0;
for(Entry<String,String>entry:m.entrySet()){
Stringkey=entry.getKey();
Stringvalue=entry.getValue();
if(key.equals("1")){
hj+=Integer.parseInt(value)*3;
System.out.println("哇哈哈纯净水:"+value+"件,合计:¥"+Integer.parseInt(value)*3);
}elseif(key.equals("2")){
hj+=Integer.parseInt(value)*5;
System.out.println("康师傅方便面:"+value+"件,合计:¥"+Integer.parseInt(value)*5);
}elseif(key.equals("3")){
hj+=Integer.parseInt(value)*4;
System.out.println("可口可乐:"+value+"件,合计:¥"+Integer.parseInt(value)*4);
}
}
System.out.println("合计金额:¥"+hj);
}
publicstaticvoidinit(){
System.out.println("******************");
System.out.println(" 商品列表 ");
System.out.println("商品名称价格");
System.out.println("1.哇哈哈纯净水¥3");
System.out.println("2.康师傅方便面¥5");
System.out.println("3.可口可乐¥4");
System.out.println("******************");
}

publicstaticMap<String,String>buy(Scannerscan,Map<String,String>m){
System.out.print("请输入编号:");
Stringbh=scan.nextLine();
System.out.print("请输入购买数量:");
Stringnum=scan.nextLine();
if(m.size()>0&&m.keySet().contains(bh)){
m.put(bh,(Integer.parseInt(bh)+Integer.parseInt(num))+"");
}else{
m.put(bh,num);
}
returnm;
}
}

⑶ 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 Map<String, 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.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;public class ShoppingCartManager {

HashMap<String, String> hm=new HashMap<String, 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);
}
}

//修改数量
public void updateQuantity(String bookId,String bookQuantity){
hm.put(bookId, bookQuantity);
}

//获取购物车的所有信息 并计算总价
public ArrayList<BookBean> getShoppingCart(){
ArrayList<BookBean> al=new ArrayList<BookBean>();
Iterator<String> i=hm.keySet().iterator();
String ids="";
BookTableManager btm=new BookTableManager();
while(i.hasNext()){
ids=ids+","+i.next();
}
al= btm.selectByBookIds(ids);

totlePrice=0; //清空总价,防止无限累计
for(int j=0;j<al.size();j++){
BookBean bb=al.get(j);
totlePrice+=bb.getPrice()*Integer.parseInt(getQuantityById(bb.getBookId()+""));
}

return al;
}

//获取总价
public float getTotlePrice(){
return totlePrice;
}

//根据ID获取数量
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);
}
}

⑸ 编程 java 关于购物车

将session中的商品定义为对象
放入ArrayList中
修改了购物车内容后
把ArrayList.size()赋值到现在是0的位置回

如:
购物车添加物品答
List proctList = new ArrayList();
Proct proct1 = new Proct();
proctList.add(proct1);
...
Proct proctN = new Proct();
proctList.add(proctN);

session.setAttribute("proct", proctList);

页面可以写
List proctList = (List)session.getAttribute("proct");

把proctList.size()放到个数的位置

⑹ 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编程购物车问题大神们帮帮忙

不会用Map,建议先学习怎么用。不能熟练使用集合框架,严重影响开发效率。基础很重要,没基础,什么都不行。 当然,购物车可以不用Map也能实现。 // 从session里取购物车对象 List cart = (List) request.getSession().getAttribute("cart"); // 如果session里没有,创建 if (cart == null) { cart = new ArrayList(); } // 创建Book对象 BookInfo book = new BookInfo("001", "abc", 1); // 是否购物车里已经有 if (!cart.contains(book)) { // 没有的时候直接add cart.add(book); } else { // 有的时候,取出 BookInfo tmpBook = (BookInfo) cart.get(cart.indexOf(book)); // 加数量 tmpBook.setCount(tmpBook.getCount() + book.getCount()); } // 把cart放到session里 request.getSession().setAttribute("cart", cart); 补充: 注意:BookInfo要重写equals方法,上面的代码材有效。下面这个BookInfo重写了equals方法,当id相同时,认为是同一本书。如果想用其他方法判断,自己可以重写。 public class BookInfo { private String id; private String name; private int count; public BookInfo(String id, String name, int count) { this.id = id; this.name = name; this.count = count; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; BookInfo other = (BookInfo) obj; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; return true; } } 追问: BookInfo tmpBook = (BookInfo) cart.get(cart.indexOf(book)); 这句里面的cart.indexOf(book)是用于什么用的啊?我学了半年JAVA..半年的JSP+servlet+ 框架 呢..我还是新手哈.. 回答: cart.indexOf(book)是查找对象在List中的 索引 。 cart.get(cart.indexOf(book))是根据找到的索引取对象。 追问: 现在能加入 购物车 了.但是不能过滤相同ID的这个怎么样在servlet里面解决呢?我用的是struts的ACTION和form的 回答: 我上面不是写了BookInfo类吗!为了让List能把相同ID的BookInfo对象认为是“同一本书”,要重写equals方法。 cart.contains(book)是判断List是否有某Book时,会调用BookInfo的equals方法。举个例子,用上面那个BookInfo类。new BookInfo("1","abc",1)和new BookInfo("1","abc",1)会被List认为是相同的BookInfo,因为id都是“1”。 追问: 我是用struts中的form来写的..我加入到form中.我程序就出错了....我在实验下吧..

⑻ 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 Map<String, CartItemBean> update(Map cart, String foodID,
boolean isAddorRemove) {
Map map;
if (isAddorRemove) {
map = add(cart, foodID);
} else {
map = remove(cart, foodID);
}
return map;
}
}

⑼ 用JAVA编写购物车程序.

我这有你要不?刚写的!
不过不是保存在内存上了,而是保存在数据库中,用完删不得了!

⑽ 急求java购物车代码

package bean;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Administrator
* 购物车类:
* 为了方便将商品信息绑订到session上面而设计的一个
* 工具,提供了商品的添加,删除,列表,计价,清空,
* 修改功能。
*/
public class Cart {
//items属性:用来保存商品
private List<CartItem> items =
new ArrayList<CartItem>();
/**
* 将商品添加到购物车
*/
public boolean add(CartItem item){
for(int i=0;i<items.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;i<items.size();i++){
CartItem curr = items.get(i);
if(curr.getC().getId() == id){
items.remove(curr);
return;
}
}
}
/**
* 获得购物车中所有商品信息
*/
public List<CartItem> list(){
return items;
}
/**
* 商品总价
*/
public double cost(){
double total = 0;
for(int i=0;i<items.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;i<items.size();i++){
CartItem curr = items.get(i);
if(curr.getC().getId() == id){
curr.setQty(qty);
return;
}
}
}
}