十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
import java.util.ArrayList;
創(chuàng)新互聯(lián)科技有限公司專(zhuān)業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供四川樂(lè)山服務(wù)器托管,高防主機(jī),成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。
import java.util.HashMap;
import java.util.Iterator;public class ShoppingCartManager {
HashMapString, String hm=new HashMapString, String();
float totlePrice=0;
//添加book到購(gòu)物車(chē)
public void addBook(String bookId,String bookQuantity){
if(hm.containsKey(bookId)){
int value=Integer.parseInt(hm.get(bookId));
value+=Integer.parseInt(bookQuantity);
hm.put(bookId, value+"");
}else{
hm.put(bookId, bookQuantity);
}
}
//修改數(shù)量
public void updateQuantity(String bookId,String bookQuantity){
hm.put(bookId, bookQuantity);
}
//獲取購(gòu)物車(chē)的所有信息 并計(jì)算總價(jià)
public ArrayListBookBean getShoppingCart(){
ArrayListBookBean al=new ArrayListBookBean();
IteratorString i=hm.keySet().iterator();
String ids="";
BookTableManager btm=new BookTableManager();
while(i.hasNext()){
ids=ids+","+i.next();
}
al= btm.selectByBookIds(ids);
totlePrice=0; //清空總價(jià),防止無(wú)限累計(jì)
for(int j=0;jal.size();j++){
BookBean bb=al.get(j);
totlePrice+=bb.getPrice()*Integer.parseInt(getQuantityById(bb.getBookId()+""));
}
return al;
}
//獲取總價(jià)
public float getTotlePrice(){
return totlePrice;
}
//根據(jù)ID獲取數(shù)量
public String getQuantityById(String id){
String quantity=hm.get(id);
return quantity;
}
//清空購(gòu)物車(chē)
public void clear(){
hm.clear();
}
//刪除購(gòu)物車(chē)中的一本書(shū)
public void deleteById(String id){
hm.remove(id);
}
}
要使用Java編寫(xiě)超市購(gòu)物程序,您需要使用Java數(shù)據(jù)庫(kù)編程技術(shù)來(lái)連接到您的數(shù)據(jù)庫(kù)并執(zhí)行相關(guān)的數(shù)據(jù)庫(kù)操作。在Java中,您可以使用JDBC(Java數(shù)據(jù)庫(kù)連接)API來(lái)連接到數(shù)據(jù)庫(kù)并執(zhí)行SQL語(yǔ)句。例如,您可以使用JDBC API來(lái)執(zhí)行以下操作:
創(chuàng)建數(shù)據(jù)庫(kù)連接
執(zhí)行增刪改查(CRUD)操作
提交或回滾事務(wù)
執(zhí)行存儲(chǔ)過(guò)程和函數(shù)
查詢數(shù)據(jù)庫(kù)元數(shù)據(jù)
此外,您還可以使用Java的面向?qū)ο缶幊碳夹g(shù)來(lái)封裝數(shù)據(jù)庫(kù)操作,以便更方便地在您的程序中使用。例如,您可以創(chuàng)建一個(gè)類(lèi)來(lái)表示超市商品,并定義一些方法來(lái)執(zhí)行商品的增刪改查操作。這樣,您就可以在程序中通過(guò)調(diào)用這些方法來(lái)簡(jiǎn)單地完成對(duì)數(shù)據(jù)庫(kù)的操作,而不需要編寫(xiě)復(fù)雜的SQL語(yǔ)句。
有兩個(gè)地方錯(cuò)了:
主要的一個(gè)錯(cuò)誤是BookDetail類(lèi)不存在,而你在ShopCar
類(lèi)中引用了BookDetail,得寫(xiě)一個(gè)這樣的類(lèi)才行。
第二個(gè)錯(cuò)誤的地方為你在類(lèi)中使用了包,如果使用包的話就不能像一般的類(lèi)那樣直接使用javac 類(lèi)名.java這樣的形式編譯了。
而要使用 javac -d . 類(lèi)名.java才行,其中的-d .的意思是把輸出的.class文件放以包名稱(chēng)的形式到當(dāng)前文件夾下,當(dāng)然你也可以輸入其它路徑也是可以的。
運(yùn)行的話使用java 包名+類(lèi)名就可以了,其中是以.分開(kāi)包和類(lèi)名稱(chēng)的。
看一下javac的幫助和java的幫助,里面說(shuō)的很明白的。
編譯的時(shí)候使用javac -d . 類(lèi)名.java
運(yùn)行的時(shí)候 java 包名.類(lèi)名
注意如果包里又有子包的話運(yùn)行的時(shí)候包與子包使用.分隔開(kāi)來(lái)