導航:首頁 > 編程語言 > java集合框架編程題庫

java集合框架編程題庫

發布時間:2023-06-27 18:20:35

java集合框架考試題!!!急,幫忙解答!!

題目重新排下我看得頭疼!!!

② Java集合框架2

根據你上面的提示和程序里的要求,修改了Database,新增了衣服的方法。每次計算的價格可以寫成共通方法。希望其他人有好的建議也發上來。
import java.util.HashMap;
import java.util.Map;
public class Database {
private Map<Integer, McBean> data = new HashMap<Integer, McBean>();
public Database(){
McBean bean = new McBean();
bean.setNid(1);
bean.setSname("地瓜");
bean.setNprice(2.0);
bean.setSdescription("新鮮的地瓜");

data.put(1, bean);

bean = new McBean();
bean.setNid(2);
bean.setSname("土豆");
bean.setNprice(1.2);
bean.setSdescription("又好又大的土豆");

data.put(2, bean);

bean = new McBean();
bean.setNid(3);
bean.setSname("絲瓜");
bean.setNprice(1.5);
bean.setSdescription("本地絲瓜");

data.put(3, bean);

bean = new McBean();
bean.setNid(4);
bean.setSname("衣服");
bean.setNprice(30);
bean.setSdescription("衣服");

data.put(4, bean);
}

public McBean getMcBean(int nid){
return data.get(nid);
}
}

public class McBean {
private Integer nid; //商品編號
private String sname; //名稱
private double nprice; //價格
private String sdescription; //描述

public Integer getNid() {
return nid;
}
public void setNid(Integer nid) {
this.nid = nid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public double getNprice() {
return nprice;
}
public void setNprice(double nprice) {
this.nprice = nprice;
}
public String getSdescription() {
return sdescription;
}
public void setSdescription(String sdescription) {
this.sdescription = sdescription;
}

}

public class OrderItemBean {

private McBean mcbean; //商品

private int count; //商品數量
public McBean getMcbean() {
return mcbean;
}
public void setMcbean(McBean mcbean) {
this.mcbean = mcbean;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class ShoppingCar {
private double totalPrice; //購物車所有商品總價格
private int totalCount; //購物車所有商品數量
private Map<Integer,OrderItemBean> itemMap; //商品編號與訂單項的鍵值對
public ShoppingCar(){
//初始化購物車
itemMap = new HashMap<Integer, OrderItemBean>();
Database db = new Database();
McBean bean = new McBean();
OrderItemBean orderItem1 = new OrderItemBean();
OrderItemBean orderItem2 = new OrderItemBean();
OrderItemBean orderItem3 = new OrderItemBean();

bean = db.getMcBean(1);
orderItem1.setMcbean(bean);
orderItem1.setCount(2);

bean = db.getMcBean(2);
orderItem2.setMcbean(bean);
orderItem2.setCount(5);

bean = db.getMcBean(4);
orderItem3.setMcbean(bean);
orderItem3.setCount(3);

itemMap.put(1, orderItem1);
itemMap.put(2, orderItem2);
itemMap.put(4, orderItem3);

totalCount = itemMap.size();
totalPrice = 0;
Set set = itemMap.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<Integer, OrderItemBean> entry1=(Map.Entry<Integer, OrderItemBean>)i.next();
totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();
}
}

public void buy(int nid){
//如果該商品是第一次購買,商品的信息從資料庫獲取,資料庫的模擬代
//碼見附錄。itemMap增加一對鍵值對。
//如果不是第一次購買,則通過商品編號找到對應的定單項,然後更新定
//單項的商品數量。
//不管是否第一次購買,都得更新購物車的總價格和總數量。
Database db = new Database();
McBean mcBean = new McBean();
OrderItemBean orderItem = new OrderItemBean();

if(itemMap.get(nid) == null) {

mcBean = db.getMcBean(nid);
orderItem.setMcbean(mcBean);
orderItem.setCount(1);
itemMap.put(nid, orderItem);
} else {
orderItem = itemMap.get(nid);
orderItem.setCount(orderItem.getCount() + 1);
}

totalCount = itemMap.size();
totalPrice = 0;
Set set = itemMap.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<Integer, OrderItemBean> entry1=(Map.Entry<Integer, OrderItemBean>)i.next();
totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();
}
}
public void delete(int nid){
//通過商品編號刪除的對應的定單項,然後從更新購物車的總價格和總數量。
itemMap.remove(nid);
totalCount = itemMap.size();
totalPrice = 0;
Set set = itemMap.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<Integer, OrderItemBean> entry1=(Map.Entry<Integer, OrderItemBean>)i.next();
totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();
}
}
public void update(int nid, int count){
///通過商品編號找到對應的對應的定單項,修改商品數量。然後從更新購物車的總價格和總數量。
OrderItemBean orderItem = new OrderItemBean();

orderItem = itemMap.get(nid);
orderItem.setCount(count);

totalCount = itemMap.size();
totalPrice = 0;
Set set = itemMap.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<Integer, OrderItemBean> entry1=(Map.Entry<Integer, OrderItemBean>)i.next();
totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();
}
}
public void clear(){
//清空定單項,購物車的總價格和總數量清零。
itemMap.clear();
totalCount = 0;
totalPrice = 0;
}
public void show(){
//顯示購物車的商品,格式如下:
//商品編號 商品名稱 單價 購買數量 總價
//1 地瓜 2.0 2 4.0
//2 衣服 30 5 150
//…
//合計:總數量:5 總價格:20元
System.out.println("商品編號" + " " + "商品名稱" + " " + "單價" + " " + "購買數量" + " " + "總價" );
Set set = itemMap.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<Integer, OrderItemBean> entry1=(Map.Entry<Integer, OrderItemBean>)i.next();
int nid = entry1.getKey();
String name = entry1.getValue().getMcbean().getSname();
double price = entry1.getValue().getMcbean().getNprice();
int count = entry1.getValue().getCount();
double totalprice = price * count;
System.out.println(nid + " "+ name + " " + price + " " + count + " " + totalprice);
}
System.out.println("合計:總數量:" + totalCount + " 總價格:" + totalPrice+ "元");
}

public static void main(String[] args) {
ShoppingCar shoppingCar = new ShoppingCar();
shoppingCar.show();

System.out.println("--------------------------------");
shoppingCar.buy(3);
shoppingCar.show();

System.out.println("--------------------------------");
shoppingCar.update(4, 2);
shoppingCar.show();

System.out.println("--------------------------------");
shoppingCar.delete(2);
shoppingCar.show();

System.out.println("--------------------------------");
shoppingCar.clear();
shoppingCar.show();

}
}
運行結果:
商品編號 商品名稱 單價 購買數量 總價
1 地瓜 2.0 2 4.0
2 土豆 1.2 5 6.0
4 衣服 30.0 3 90.0
合計:總數量:3 總價格:100.0元
--------------------------------
商品編號 商品名稱 單價 購買數量 總價
1 地瓜 2.0 2 4.0
2 土豆 1.2 5 6.0
3 絲瓜 1.5 1 1.5
4 衣服 30.0 3 90.0
合計:總數量:4 總價格:101.5元
--------------------------------
商品編號 商品名稱 單價 購買數量 總價
1 地瓜 2.0 2 4.0
2 土豆 1.2 5 6.0
3 絲瓜 1.5 1 1.5
4 衣服 30.0 2 60.0
合計:總數量:4 總價格:71.5元
--------------------------------
商品編號 商品名稱 單價 購買數量 總價
1 地瓜 2.0 2 4.0
3 絲瓜 1.5 1 1.5
4 衣服 30.0 2 60.0
合計:總數量:3 總價格:65.5元
--------------------------------
商品編號 商品名稱 單價 購買數量 總價
合計:總數量:0 總價格:0.0元

閱讀全文

與java集合框架編程題庫相關的資料

熱點內容
創意編程怎麼弄場景切換 瀏覽:315
解壓代碼選擇 瀏覽:875
電腦開機後桌面文件全都沒有了 瀏覽:666
wap網站論壇 瀏覽:55
榮耀4版本信息顯示什麼字母 瀏覽:30
dnf蟲鏈怎麼升級 瀏覽:956
將16進制文件讀到數組中 瀏覽:899
caa中怎麼提取框選范圍數據 瀏覽:38
為什麼用數據登不上王者 瀏覽:92
yaffs2根文件系統 瀏覽:477
劍俠情緣微信活動禮包 瀏覽:985
ipad版本我的世界怎麼學賦魔 瀏覽:571
如何做好網站管理 瀏覽:280
湯姆貓是什麼網站 瀏覽:913
失易得數據恢復怎麼把照片 瀏覽:185
電腦只顯示1個網路 瀏覽:607
數控加工與編程專業怎麼樣 瀏覽:4
西安程序員工資 瀏覽:389
表格怎麼添加一行數據 瀏覽:35
旅遊網站開發怎麼選 瀏覽:669

友情鏈接