问题描述
使用HashMap做购物车,要求实现的功能有添加和移除商品,查看购物车中的详细信息及计算购物车中所有商品的总额。ps:本人是初学者,希望大虾们能用javase中的集合与泛型的知识,能给出这几个功能的方法代码,本人感激不尽。(商品即书的属性:编号int,名称String,单价int)publicclassBook{privateStringbookName;privateIntegerbookId;publicStringgetBookName(){returnbookName;}publicvoidsetBookName(StringbookName){this.bookName=bookName;}publicIntegergetBookId(){returnbookId;}publicvoidsetBookId(IntegerbookNum){this.bookId=bookNum;}publicBook(StringbookName,IntegerbookId){this.bookId=bookId;this.bookName=bookName;}}importjava.util.*;publicclassShopCart{Map<Integer,Integer>map=newHashMap<Integer,Integer>();intnum=0;publicvoidaddBook(Bookbook){Scannersc=newScanner(System.in);if(map.containsKey(book.getBookId())){map.put(book.getBookId(),map.get(book.getBookId())+1);}else{num=1;map.put(book.getBookId(),num);}}publicvoidaccBook(){SetkeySet=map.keySet();Iteratoriterator=keySet.iterator();while(iterator.hasNext()){Integerkey=(Integer)iterator.next();System.out.println(key+"书的数量:"+map.get(key));}}}importjava.util.Scanner;publicclassShopCartItemextendsShopCart{publicstaticvoidmain(String[]args){ShopCartItemsci=newShopCartItem();Scannersc=newScanner(System.in);System.out.println("请输入添加书的数量:");intbkNum=sc.nextInt();for(inti=0;i<bkNum;i++){System.out.println("输入书的名称:");StringbookName=sc.next();System.out.println("请输入书的编号:");intbkId=sc.nextInt();sci.addBook(newBook(bookName,bkId));}sci.accBook();}}
解决方案
解决方案二:
泛型和集合,你在new你的hashMap的时候就全都用到了,你没发现?我觉得你做这个把他们之间的对应关系能理清才是最好(***.hbm.xml这个文件弄清楚)。
解决方案三:
多谢大侠的指点