?? cart.java
字號(hào):
package www.mary.Bean;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import www.mary.access.*;
public class Cart {
private Map map=Collections.synchronizedMap(new HashMap());//該屬性用來存采購的產(chǎn)品項(xiàng),是按照id號(hào)作索引,以nember記錄存入多少相同的實(shí)例
public Cart()
{
}
public void additem(String itemid,int number){
//先判斷購物車中有沒有重復(fù)的產(chǎn)品
boolean is=this.isContain(itemid);
if(is){
CarItem caritem=(CarItem)map.get(itemid);
caritem.add(number);
}else{
//如果購物車中沒有該產(chǎn)品項(xiàng)
ItemBean item=PowerAccess.getOneItem(itemid);
CarItem caritem=new CarItem(item,number);//?
map.put(itemid,caritem); //?
}
}
//這類是判斷是否有相同的產(chǎn)品,以itemid作為索引來查詢
public boolean isContain(String itemid){
return map.containsKey(itemid);
}
//這里是更行
public void updateNumber(String itemid,int number)
{
CarItem caritem=(CarItem)map.get(itemid);
caritem.setNumber(number);
}
public void removeItem(String itemid)
{
map.remove(itemid);
}
//得到某種產(chǎn)品項(xiàng)的總價(jià)格
public double getItemTotalPrice(String itemid)
{
CarItem caritem=(CarItem)map.get(itemid); //通過itemid得到map存的實(shí)例
double listprice=caritem.getItem().getLISTPRICE(); //得到價(jià)格
int number=caritem.getNumber(); //得到數(shù)量
return listprice*number; //得到行的總金額
}
public double getTotalPrice() //得到列的總金額
{
double totalprice=0.0; //如果沒有產(chǎn)品,初始值為0.0
Iterator iter=map.values().iterator(); //迭代展現(xiàn)map
while(iter.hasNext())
{
CarItem caritem=(CarItem)iter.next(); //得到cartitem實(shí)例
double listprice=caritem.getItem().getLISTPRICE(); //先得到行的總金額
int number=caritem.getNumber(); //再得到每行的數(shù)量
totalprice+=listprice*number; //然后隨著循環(huán)累加金額
}
return totalprice;
}
public Map getMap() {
return map;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -