java网上购物程序包括哪几类?应该怎么编写?

BSO 2020-08-31 10:55:00 java常见问答 6119

随着大众的需求越来越普遍化,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 工具网。

推荐阅读:

java工厂模式属于mvc吗?怎么在mvc中实现?

java工作流开发要怎么实现?

java中怎么捕获异常?Throwable类的方法有哪些?