1. Java初學者,哪位友友能幫我設計一個簡單的類似超市購物車的程序,參考一下~謝謝!
以前學習java又做個實例,挺值得學習的。
1.首先我先列出我們所需要的java類結構。
1)Database.java --------- 模擬存儲商品的資料庫。
2)McBean.java ------------ 商品實體類,一個普通的javabean,裡面有商品的基本屬性。
3)OrderItemBean.java --- 訂單表。
4)ShoppingCar.java ------ 這個就是最主要的購物車,當然比較簡單。
5)TestShoppingCar.java --- 這個是測試類。
2.下面貼出具體代碼並帶關鍵注釋。
---Database.java
public class Database {
/*採用Map存儲商品數據,為什麼呢?我覺得這個問題你自己需要想下。
* Integer 為Map的key值,McBean為Map的value值。
*/
private static Map<Integer, McBean> data = new HashMap<Integer, McBean>();
public Database() {
McBean bean = new McBean();
bean.setId(1);
bean.setName("地瓜");
bean.setPrice(2.0);
bean.setInstuction("新鮮的地瓜");
data.put(1, bean);//把商品放入Map
bean = new McBean();
bean.setId(2);
bean.setName("土豆");
bean.setPrice(1.2);
bean.setInstuction("又好又大的土豆");
data.put(2, bean);//把商品放入Map
bean = new McBean();
bean.setId(3);
bean.setName("絲瓜");
bean.setPrice(1.5);
bean.setInstuction("本地絲瓜");
data.put(3, bean);//把商品放入Map
}
public void setMcBean(McBean mcBean){
data.put(mcBean.getId(),mcBean);
}
public McBean getMcBean(int nid) {
return data.get(nid);
}
}
---McBean.java
public class McBean {
private int id;//商品編號
private String name;//商品名
private double price;//商品價格
private String instuction;//商品說明
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getInstuction() {
return instuction;
}
public void setInstuction(String instuction) {
this.instuction = instuction;
}
}
---ShoppingCar.java
public class ShoppingCar {
private double totalPrice; // 購物車所有商品總價格
private int totalCount; // 購物車所有商品數量
private Map<Integer, OrderItemBean> itemMap; // 商品編號與訂單項的鍵值對
public ShoppingCar() {
itemMap = new HashMap<Integer, OrderItemBean>();
}
public void buy(int nid) {
OrderItemBean order = itemMap.get(nid);
McBean mb;
if (order == null) {
mb = new Database().getMcBean(nid);
order = new OrderItemBean(mb, 1);
itemMap.put(nid, order);
update(nid, 1);
} else {
order.setCount(order.getCount() + 1);
update(nid, 1);
}
}
public void delete(int nid) {
OrderItemBean delorder = itemMap.remove(nid);
totalCount = totalCount - delorder.getCount();
totalPrice = totalPrice - delorder.getThing().getPrice() * delorder.getCount();
}
public void update(int nid, int count) {
OrderItemBean updorder = itemMap.get(nid);
totalCount = totalCount + count;
totalPrice = totalPrice + updorder.getThing().getPrice() * count;
}
public void clear() {
itemMap.clear();
totalCount = 0;
totalPrice = 0.0;
}
public void show() {
DecimalFormat df = new DecimalFormat("¤#.##");
System.out.println("商品編號\t商品名稱\t單價\t購買數量\t總價");
Set set = itemMap.keySet();
Iterator it = set.iterator();
while (it.hasNext()) {
OrderItemBean order = itemMap.get(it.next());
System.out.println(order.getThing().getId() + "\t"
+ order.getThing().getName() + "\t"
+ df.format(order.getThing().getPrice()) + "\t" + order.getCount()
+ "\t" + df.format(order.getCount() * order.getThing().getPrice()));
}
System.out.println("合計: 總數量: " + df.format(totalCount) + " 總價格: " + df.format(totalPrice));
System.out.println("**********************************************");
}
}
---OrderItemBean.java
public class OrderItemBean {
private McBean thing;//商品的實體
private int count;//商品的數量
public OrderItemBean(McBean thing, int count) {
super();
this.thing = thing;
this.count = count;
}
public McBean getThing() {
return thing;
}
public void setThing(McBean thing) {
this.thing = thing;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
---TestShoppingCar.java
package com.shop;
public class TestShoppingCar {
public static void main(String[] args) {
ShoppingCar s = new ShoppingCar();
s.buy(1);//購買商品編號1的商品
s.buy(1);
s.buy(2);
s.buy(3);
s.buy(1);
s.show();//顯示購物車的信息
s.delete(1);//刪除商品編號為1的商品
s.show();
s.clear();
s.show();
}
}
3.列印輸出結果
商品編號 商品名稱 單價 購買數量 總價
1 地瓜 ¥2 3 ¥6
2 土豆 ¥1.2 1 ¥1.2
3 絲瓜 ¥1.5 1 ¥1.5
合計: 總數量: ¥5 總價格: ¥8.7
**********************************************
商品編號 商品名稱 單價 購買數量 總價
2 土豆 ¥1.2 1 ¥1.2
3 絲瓜 ¥1.5 1 ¥1.5
合計: 總數量: ¥2 總價格: ¥2.7
**********************************************
商品編號 商品名稱 單價 購買數量 總價
合計: 總數量: ¥0 總價格: ¥0
**********************************************
4.打字太累了,比較匆忙,但是主要靠你自己領會。哪裡不清楚再提出來。
2. JAVA map編寫購物車的問題
publicclassProct{
privateIntegerproctid;
privateStringproctname;
privateStringcategory;
privatefloatprice;
privateStringpicture;
publicProct(Integerproctid,Stringproctname,Stringcategory,floatprice,Stringpicture){
this.proctid=proctid;
this.proctname=proctname;
this.category=category;
this.price=price;
this.picture=picture;
}
publicIntegergetProctid(){
returnproctid;
}
publicvoidsetProctid(Integerproctid){
this.proctid=proctid;
}
publicStringgetProctname(){
returnproctname;
}
publicvoidsetProctname(Stringproctname){
this.proctname=proctname;
}
publicStringgetCategory(){
returncategory;
}
publicvoidsetCategory(Stringcategory){
this.category=category;
}
publicfloatgetPrice(){
returnprice;
}
publicvoidsetPrice(floatprice){
this.price=price;
}
publicStringgetPicture(){
returnpicture;
}
publicvoidsetPicture(Stringpicture){
this.picture=picture;
}
}
publicclassProctItem{
privateProctproct;
privateIntegercount;
publicProctItem(Proctproct,Integercount){
this.proct=proct;
this.count=count;
}
publicProctgetProct(){
returnproct;
}
publicvoidsetProct(Proctproct){
this.proct=proct;
}
publicIntegergetCount(){
returncount;
}
publicvoidsetCount(Integercount){
this.count=count;
}
publicfloatgetTotalPrice(){
returnthis.proct.getPrice()*count;
}
}
publicclassShoppingCart{
privateHashMap<Integer,ProctItem>items=newHashMap<Integer,ProctItem>();
publicstaticvoidmain(String[]args){
ShoppingCartcart=newShoppingCart();
System.out.println("初始化產品");
Proctbanana=newProct(10000,"香蕉","水果",2.50F,"banana.jpg");
Proctapple=newProct(10001,"蘋果","水果",3.99F,"apple.jpg");
Proctorange=newProct(10002,"桔子","水果",1.80F,"orange.jpg");
Proctpen=newProct(10003,"鋼筆","文具",12.00F,"pen.jpg");
Proctpencil=newProct(10004,"鉛筆","文具",1.00F,"pencil.jpg");
System.out.println("###############################################");
System.out.println("添加蘋果");
cart.addToCart(apple);
System.out.println(cart.showAll());
System.out.println("當前購物車總價:"+cart.getTotalPrice());
System.out.println("***********************************************");
System.out.println("添加香蕉");
cart.addToCart(banana);
System.out.println(cart.showAll());
System.out.println("當前購物車總價:"+cart.getTotalPrice());
System.out.println("***********************************************");
System.out.println("修改香蕉數量");
cart.modifyCart(banana,5);
System.out.println(cart.showAll());
System.out.println("當前購物車總價:"+cart.getTotalPrice());
System.out.println("***********************************************");
System.out.println("刪除蘋果");
cart.delFromCart(apple);
System.out.println(cart.showAll());
System.out.println("當前購物車總價:"+cart.getTotalPrice());
System.out.println("***********************************************");
System.out.println("添加鉛筆");
cart.addToCart(pencil);
System.out.println(cart.showAll());
System.out.println("當前購物車總價:"+cart.getTotalPrice());
System.out.println("***********************************************");
}
publicvoidaddToCart(Proctproct){
this.items.put(proct.getProctid(),newProctItem(proct,1));
}
publicvoiddelFromCart(Proctproct){
this.items.remove(proct.getProctid());
}
publicStringshowAll(){
Stringdetail="";
for(Integerkey:this.items.keySet()){
detail+=this.items.get(key).getProct().getProctname()+":"+this.items.get(key).getCount()+"件,單價"+this.items.get(key).getProct().getPrice()+",小計"+this.items.get(key).getTotalPrice()+" ";
}
returndetail;
}
publicbooleanmodifyCart(Proctproct,Integercount){
if(this.items.containsKey(proct.getProctid())){
this.items.get(proct.getProctid()).setCount(count);
returntrue;
}
returnfalse;
}
publicfloatgetTotalPrice(){
floattotal=0;
for(Integerkey:this.items.keySet()){
total+=this.items.get(key).getTotalPrice();
}
returntotal;
}
}
3. 求Java語言為書城設計一個簡單購物車類。
public class ShoppingCart {//購物車類
private Procted prod;//商品類,存放商品信息
private int num;//商品數量
public Procted getProd() {
return prod;
}
public void setProd(Procted prod) {
this.prod = prod;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
public class Procted {//商品類
private String prodName;//商品名稱
private Double marketPrice;//市場價
private Double sellPrice;//本店價
private Double save;//優惠
private Short points;//積分
public String getProdName() {
return prodName;
}
public void setProdName(String prodName) {
this.prodName = prodName;
}
public Double getMarketPrice() {
return marketPrice;
}
public void setMarketPrice(Double marketPrice) {
this.marketPrice = marketPrice;
}
public Double getSellPrice() {
return sellPrice;
}
public void setSellPrice(Double sellPrice) {
this.sellPrice = sellPrice;
}
public Double getSave() {
return save;
}
public void setSave(Double save) {
this.save = save;
}
public Short getPoints() {
return points;
}
public void setPoints(Short points) {
this.points = points;
}
}
有用請採納
4. JAVA SQL問題 購物車 把商品加入購物車使用什麼方法
再加一個表格列:是否已加入購物車
點擊按鈕後,進行入庫操作,insert語句
不行,這樣的話,只能加,不能減
你應該在每行添加一個checkbox復選框
勾選了,就代表入庫了,取消了就delete
對,就是這樣
5. 購物車使用什麼java設計模式
mvc模式。modern+view+control 數據層+前台的jsp頁面展示+邏輯層。
數據指的是資料庫和你web項目的鏈接代碼以及類和方法的調用。
jsp頁面就是你要什麼數據就把它放到頁面里。
邏輯就是servlet文件,它把數據層和前台的jsp頁面進行編譯 然後直接在頁面運行代碼。
6. java寫的簡易購物車 簡歷里描述一下
第一: 寫你的開發平台:比如windows 還是Linux。
第二:寫你的開發工具:MyEclipse 還是Eclipse。 資料庫MySQL 還是Oracle。。。。。
第三:寫你的框架:ssh+jquery +Ajax+jsp+......
第四:寫你參與的開發模塊。涉及到的技術亮點。比如登陸模塊,用到的是AJAX非同步數據驗證。或者復雜點的:在線文件預覽:用到技術 OpenOffice+FlexPaper+swfTools等。
第五 :寫你遇到技術難題,你自己是如何解決的(注意多寫自己獨立解決:面試官很在意個人自我解決能力或者自學能力),
第六:寫你完成這個項目的收獲。
大致也就這樣了。
7. 關於java購物車設計的一些問題 1.支付完成如果斷網了,怎樣判斷用戶支付成功 2.如果購物車放
我想應該是購物車是放到cookie中的,需要結算的時候,登錄後就會把cookie中的信息set到用戶對象中.
8. 用JAVA編寫購物車程序.
這個應該很簡單的,資料庫連接如果你已經寫好了,剩下的應該只是調用ResultSet把數據添加進資料庫就行。
9. 急求java購物車代碼
package bean;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Administrator
* 購物車類:
* 為了方便將商品信息綁訂到session上面而設計的一個
* 工具,提供了商品的添加,刪除,列表,計價,清空,
* 修改功能。
*/
public class Cart {
//items屬性:用來保存商品
private List<CartItem> items =
new ArrayList<CartItem>();
/**
* 將商品添加到購物車
*/
public boolean add(CartItem item){
for(int i=0;i<items.size();i++){
CartItem curr = items.get(i);
if(curr.getC().getId() == item.getC().getId()){
//該商品已經購買過
return false;
}
}
//沒有購買過,則添加該商品
items.add(item);
return true;
}
/**
* 從購物車當中刪除某件商品
*/
public void delete(int id){
for(int i=0;i<items.size();i++){
CartItem curr = items.get(i);
if(curr.getC().getId() == id){
items.remove(curr);
return;
}
}
}
/**
* 獲得購物車中所有商品信息
*/
public List<CartItem> list(){
return items;
}
/**
* 商品總價
*/
public double cost(){
double total = 0;
for(int i=0;i<items.size();i++){
CartItem curr = items.get(i);
total += curr.getC().getPrice() * curr.getQty();
}
return total;
}
/**
* 清空購物車中的所有商品
*/
public void clear(){
items.clear();
}
/**
* 修改購物車中某種商品的數量
*/
public void modify(int id,int qty){
for(int i=0;i<items.size();i++){
CartItem curr = items.get(i);
if(curr.getC().getId() == id){
curr.setQty(qty);
return;
}
}
}
}
10. 求指教 JAVA寫網上書店的購物車代碼 使用:xml頁面 資料庫..
思路很簡單開發一個小型的WEB應用,部署在長沙和北京兩台伺服器上,安裝個tomact就可以運行和部署了這個WEB應用主要做如下事情:
接受請求,封裝json串 (為什麼JSON可以查一下網上大把的)1)收到http請求後,校驗是否是來自另外一個伺服器的請求(通過判斷請求的IP地址是否否為另外一個伺服器的IP地址即可)2)校驗通過後讀取本地伺服器資料庫,查詢需要實時同步的數據表,查出需要同步的數據,組裝成數據對象集(例如一個arraylist),然後轉換為 json格式串,寫入到response輸出流中。
發請求獲取返回結果,插入/更新資料庫1)從reponse輸出流中讀取返回結果,將JSON串轉化為對象集(網上大把的),然後開始更新/插入數據/刪除數據——————————————————————————————————————由於涉及三種操作類型 更新 刪除 插入 ,所以可以分別實現三個servlet來分別負責:1)查詢新增數據/插入新增對象2) 查詢更新數據/更新新增對象3)查詢刪除數據/刪除待刪除的對象——————————————————————————————————————定時調度同步程序使用timer寫個jar程序,循環每5分鍾利用httpconnnection一次請求之行下插入/更新/刪除的servlet___________________________________________________________________