1. 團隊課程設計博客鏈接
2. 個人負責模塊或任務說明
- 編寫ShoppingCart類,連接數據庫
- 編寫updateCart類,從數據庫中獲取商品信息,獲取指定編號的商品信息
- 編寫Users類,從數據庫中獲取商品用戶信息,獲取指定用戶名的商品信息.
3. 自己的代碼提交記錄截圖

4. 自己負責模塊或任務詳細說明
- 1.基本類,商品類name和操作類Item,beand類中屬性有:商品編號num,商品名稱name,商品價格price,商品數量amount,商品圖片picture.其中基本的set/get方法外,還有商品數目增刪方法;Operate類中屬性有:靜態數組arr,購物車總價total.其中還包含根據商品編號進行增加商品addGoods(),刪除商品removeGoods(),以及計算購物車總價格totalPrice()等方法.
- 2.基本類,商品類Users和與數據庫建立連接類DBConnection,Users類中屬性有:編號num,用戶名name,密碼password.其中含有基本的set/get方法;DBConnection類中負責與數據庫建立連接.
- 3.編寫一個商品的獲取信息類Goods其中用getAllGoods()方法獲得所有商品的信息,以及getItByNum(int num)方法根據商品編號num獲得商品信息;編寫Users類,含有從數據庫中獲取商品用戶信息,獲取指定用戶名的商品信息.
主要代碼
public class ShoppingCart
{
private int itemCount; // 商品數量
private double totalPrice; // 購物車總價格
private int capacity; // 數組大小
private Item[] cart;
// -----------------------------------------------------------
// Creates an empty shopping cart with a capacity of 5 items.
// -----------------------------------------------------------
public ShoppingCart()
{
capacity = 5;
itemCount = 0;
totalPrice = 0.0;
cart = new Item[capacity];
}
/**
*
* 添加功能
*/
public void buy(Item item)
{
if(itemCount == capacity){
increaseSize();
}
cart[itemCount] = item;
totalPrice += cart[itemCount].getPrice();
itemCount++;
return;
}
/**
* 刪除功能
*/
public void deleteCart(int No) {
int i;
for (i = 0; i < cart.length; i++) {
if(cart[i].getNo() == No){
totalPrice -= cart[i].getPrice();
for (int j = i; j < cart.length-1; j++) {
cart[j] = cart[j+1];
}
itemCount--;
break;
}
}
if(i == cart.length){
System.out.println("無此商品,無法刪除。");
}
return;
}
/**
* 修改功能
*/
public void updateCart(int No) {//修改編號
int i;
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
for (i = 0; i < cart.length; i++) {
if(cart[i].getNo() == No){
totalPrice -= cart[i].getPrice();
System.out.println("需要修改的信息如下:");
System.out.println(cart[i]);
System.out.println("請輸入新的產品信息:");
cart[i].setNo(scan.nextInt());
cart[i].setName(scan.next());
cart[i].setBrand(scan.next());
cart[i].setPrice(scan.nextDouble());
totalPrice += cart[i].getPrice();
break;
}
}
if(i == cart.length){
System.out.println("無此商品");
}
return;
}
/**
* 增加購物車容量
*/
private void increaseSize()
{
Item[] temp = new Item[capacity + 3];
for (int i = 0; i < cart.length; i++) {
temp[i] = cart[i];
}
cart = temp;
}
/**
*獲取商品總值
*/
public double getTotalPrice() {
return totalPrice;
}
public Item[] getCart() {
return cart;
}
public void setCart(Item[] cart) {
this.cart = cart;
}
/**
* 輸出購物車信息
*/
public String toString()
{
String contents = "您的購物車信息如下:";
contents += "\nno\t\tname\t\tbrand\t\tprice\n";
for (int i = 0; i < itemCount; i++)
contents += cart[i].toString() + "\n";
return contents;
}
}
運行過程







5. 課程設計感想
購物車系統涉及到了web的相關知識,通過查資料收獲到了很多東西,如解決了界面的設計,網頁間的跳轉以及web與數據庫相連接等問題。通過不斷借鑒與學習反思彌補自己知識儲備上的不足,能夠將知識運用到實踐中,和小伙伴完成一項任務,感到很充實。
