Java課程設計 購物車系統(個人博客)


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與數據庫相連接等問題。通過不斷借鑒與學習反思彌補自己知識儲備上的不足,能夠將知識運用到實踐中,和小伙伴完成一項任務,感到很充實。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM