利用Map构建实现网上购书系统

发布时间:2016-12-8 16:01:20 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"利用Map构建实现网上购书系统",主要涉及到利用Map构建实现网上购书系统方面的内容,对于利用Map构建实现网上购书系统感兴趣的同学可以参考一下。

  网上购书  (Map构建实现)       购物车:添加书、重复添加书、移除书、查看购物车、清空购物车       购物车存放:key-购物信息   (商品对象:数量)       购物车用Map实现,Map中存入key-value: key-商品编号    value-购物信息(商品和数量)     package com.derun.dian.map; //商品类 import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; class Book{     String isbn;           //国际标准图书编号(International Standard Book Number)     String title;     double prise;     public Book() {     }     public Book(String isbn, String title, double prise) {         this.isbn = isbn;         this.title = title;         this.prise = prise;     }     public String getIsbn() {         return isbn;     }     public void setIsbn(String isbn) {         this.isbn = isbn;     }     public String getTitle() {         return title;     }     public void setTitle(String title) {         this.title = title;     }     public double getPrise() {         return prise;     }     public void setPrise(double prise) {         this.prise = prise;     }     } //购物信息 class CartItem{           //购物车商品     Book book;             //购买的商品      int number;            //该商品的购买数量     public CartItem() {     }     public CartItem(Book book, int number) {         this.book = book;         this.number = number;     }     public Book getBook() {         return book;     }     public void setBook(Book book) {         this.book = book;     }     public int getNumber() {         return number;     }     public void setNumber(int number) {         this.number = number;     }           } //购物车类 class Cart {     Map<String, CartItem> myCart = new HashMap<>();      //代表购物车容器          //添加     public void add(Book book){         //先看购物车里有没有这本书  调用containsKey         boolean isHave = myCart.containsKey(book.getIsbn());                  //如果没有 则创建一个新的该书的购物信息项         if(!isHave){             CartItem ci = new CartItem(book,1);             myCart.put(book.getIsbn(), ci);         }else{ //如果有 则修改该书在购物信息项中的数量             CartItem ci = myCart.get(book.getIsbn());             //CartItem ci = myCart.get(book.getIsbn());             ci.setNumber(ci.getNumber() + 1);             myCart.put(book.getIsbn(), ci);         }              }          //删除     public void remove(String isbn){         //先看购物车里有没有这本书         boolean isHave = myCart.containsKey(isbn);         //如果有 则删除         if(isHave){             myCart.remove(isbn);    //直接删除         }else{  //没有 提示信息             System.out.println("没有找到该书!");         }              }          //修改     public void update(String isbn,int number){         //先看购物车里有没有这本书         boolean isHave = myCart.containsKey(isbn);         //如果没有 return         if(!isHave) return;         if(isHave){ //有 1.新数量为零 则删除该本书  //2.不为零 修改该书在购物信息项中的数量             if(number == 0){                 myCart.remove(isbn);             }else{                 CartItem ci = myCart.get(isbn);                 ci.setNumber(number);                 myCart.put(isbn, ci);             }         }          }          //清空     public void clear(){         //清空购物车         myCart.clear();              }          //查看所以商品     public Collection<CartItem> findAll(){         //遍历购物车 返回所有购物项的集合         //System.out.println(myCart.values());         //List<CartItem> allBooks = myCart.values(); // 不能用List因为Collection不能转换为List类型,只能由List类型转换为Collection         Collection<CartItem> allBooks = myCart.values();         return allBooks;     } } //测试程序 模拟购物过程 public class Shopping {     public static void main(String[] args) {         Cart cart = new Cart();                  Book book01 = new Book("111","西游记",66.6);         cart.add(book01);                  Book book02 = new Book("222","水浒传",62.6);         cart.add(book02);                  Book book03 = new Book("333","世界未解之谜",35.5);         cart.add(book03);                  Book book04 = new Book("444","哈利波特",33.6);         cart.add(book04);                  Book book05 = new Book("111","西游记",66.6);         cart.add(book05);                  System.out.println("-----------------------查看所有商品-----------------------");                 Collection<CartItem> books = cart.findAll();         book(books);                  System.out.println("-----------------------增加商品的数量----------------------");                  cart.update("222", 3);                  book(books);                  System.out.println("-----------------------删除某个商品------------------------");         cart.remove("444");                  book(books);                  System.out.println("------------------------清空所有商品-----------------------");         cart.clear();         book(books);     }          public static void book(Collection<CartItem> cartItems){             if(cartItems==null || cartItems.size()==0){                 System.out.println("您的购物车里还没有添加商品!");             }else{                 System.out.println("购物车中现在的商品有:");                 for(CartItem item : cartItems){                     System.out.println(item.getBook().getTitle() + " " + item.getNumber());                 }             }         }          } 运行结果:      -----------------------查看所有商品-----------------------      购物车中现在的商品有:      哈利波特 1      水浒传 1      西游记 2      世界未解之谜 1      -----------------------增加商品的数量----------------------      购物车中现在的商品有:      哈利波特 1      水浒传 3      西游记 2      世界未解之谜 1      -----------------------删除某个商品------------------------      购物车中现在的商品有:      水浒传 3      西游记 2      世界未解之谜 1      -----------------------清空所有商品-----------------------      您的购物车里还没有添加商品!

上一篇:青春抹过的痕迹
下一篇:关于数组的复习以及定义一个类(关于内存的理解)

相关文章

相关评论