随着大众的需求越来越普遍化,java程序的编写也更加适应人们日常生活的需求。今天就为大家带来java网上购物程序主要包括哪几种类别以及如何编写网上购物的程序。
首先,我们编写的程序主要包括三个大类。第一种是商品类,它包括了商品编号、商品名称、商品分类、商品单价属性;第二种是商品条目信息类,有商品和数量两个属性还有商品总价格方法。第三种是购物车类,有添加商品方法、查看订单信息,删除商品,修改商品,清空购物车,求购物车中所有商品总金额方法。第四种是写一个测试类,测试上面方法的可行性。
接下来是这四大类程序应该如何编写的代码展示。
1.商品类,代码展示如下:
public class Product { private int productId; // 商品编号 private String productName; // 商品名称 private String category; // 商品分类 private double price; // 单价 public Product() { // 无参构造 super(); } public Product(int productId, String productName, String category , double price) { super(); this.productId = productId; this.productName = productName; this.category = category; this.price = price; } public String toString() { return "Product [productId=" + productId + ", productName=" + productName + ", category=" + category + ", price=" + price + "]"; } public int getProductId() { return productId; } public void setProductId(int productId) { this.productId = productId; } public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } }
2.商品条目信息类,代码展示如下:
public class ProductItem { private Product product; //购买的商品 private int count; //商品数量 public double totalMoney() { //小计 double price = product.getPrice(); //获取商品单价 return price * count; } public ProductItem() { super(); } public ProductItem(Product product, int count) { super(); this.product = product; this.count = count; } public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } }
3.购物车类,代码展示如下:
import java.util.Collection; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; public class ShoppingCart { //购物车 //key:商品编号 value:商品条目 private Map < Integer, ProductItem > map = new LinkedHashMap < Integer, ProductItem > (); public void addProduct(Product p) { //添加商品 int productId = p.getProductId(); if (map.containsKey(productId)) { ProductItem productItem = map.get(productId); productItem.setCount(productItem.getCount() + 1); } else { map.put(productId, new ProductItem(p, 1)); } } public void showAll() { //查看订单信息 Collection < ProductItem > productItems = map.values(); Iterator < ProductItem > iterator = productItems.iterator(); while (iterator.hasNext()) { ProductItem productItem = iterator.next(); Product product = productItem.getProduct(); System.out.println("商品编号:" + product.getProductId() + ",商品名称:" + product.getProductName() + ",单价:" + product.getPrice() + ",数量:" + productItem.getCount() + ",小计:" + productItem.totalMoney()); } } public boolean deleteProduct(int productId) { //删除商品 if (map.containsKey(productId)) { map.remove(productId); return true; } return false; } public boolean modifyProduct(int productId, int count) { //修改 if (map.containsKey(productId)) { if (count >= 1) { ProductItem productItem = map.get(productId); productItem.setCount(count); return true; } else if (count == 0) { //删除该商品 deleteProduct(productId); return true; } } return false; } public void clearCart() { //清空购物车 map.clear(); } public double totalAllMoney() { //商品总钱数 double total = 0; Collection < ProductItem > productItems = map.values(); Iterator < ProductItem > iterator = productItems.iterator(); while (iterator.hasNext()) { ProductItem productItem = iterator.next(); double money = productItem.totalMoney(); total += money; } return total; } }
4.测试类,代码展示如下:
public class ShoppingCartTest { public static void main(String[] args) { ShoppingCart cart = new ShoppingCart(); Product p1 = new Product(101, "华硕笔记本", "笔记本", 4599); Product p2 = new Product(102, "苹果", "水果", 5.9); Product p3 = new Product(103, "彩电", "家电", 2799); Product p4 = new Product(104, "秋裤", "服装", 128); Product p5 = new Product(105, "华为手机", "手机", 2998); Product p6 = new Product(101, "华硕笔记本", "笔记本", 4599); //测试买两件商品的情况 cart.addProduct(p1); cart.addProduct(p2); cart.addProduct(p3); cart.addProduct(p4); cart.addProduct(p5); cart.addProduct(p6); cart.showAll(); System.out.println("############"); boolean flag = cart.deleteProduct(p2.getProductId()); if (flag) { System.out.println("商品编号为:" + p2.getProductId() + "的商品删除成功!"); } else { System.out.println("删除失败"); } cart.showAll(); System.out.println("############"); boolean flag2 = cart.modifyProduct(p3.getProductId(), 2); if (flag2) { System.out.println("商品编号为:" + p3.getProductId() + "的商品修改成功!"); } else { System.out.println("修改失败"); } cart.showAll(); //cart.clearCart(); //cart.showAll(); System.out.println("商品总价钱为:" + cart.totalAllMoney()); } }
上述内容就是为大家简要描述下如何用java写网上购物程序,并且用实际的代码为大家展示。想要了解更多java常见问题,敬请关注奇Q 工具网。
推荐阅读: