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与数据库相连接等问题。通过不断借鉴与学习反思弥补自己知识储备上的不足,能够将知识运用到实践中,和小伙伴完成一项任务,感到很充实。

Java课程设计 购物车系统(个人博客)的更多相关文章

  1. JAVA课程设计+五子棋(团队博客)

    JAVA课程设计 利用所学习的JAVA知识设计一个五子棋小游戏 1.团队名称.团队成员介绍(菜鸟三人组) 杨泽斌[组长]:201521123049 网络1512 叶文柠[组员]:20152112305 ...

  2. Java课程设计 ————五子棋 (个人博客)

    JAVA课程设计 五子棋(博客个人版) •团队课程设计博客链接 http://www.cnblogs.com/mz201521044152/p/7065575.html •个人负责模块或任务说明 1. ...

  3. Java课程设计 购物车系统(个人博客) 201521123052 蓝锦明

    1. 团队课程设计博客链接 课程设计团队博客 2. 个人负责模块或任务说明 (1)制作图形菜单引导界面 (2)定义各获取和输出类函数 3. 自己的代码提交记录截图 4. 自己负责模块或任务详细说明 i ...

  4. java 课程设计 购物车系统 个人

    Q1.团队课程设计博客链接 团队博客 Q2.个人负责模块或任务说明 我主要负责main函数的编写和系统中瞎看功能代码的编写. Q3.自己的代码提交记录截图 main函数代码如下: public sta ...

  5. java课程设计——算术运算测试个人博客

    1.团队课程设计链接 团队博客:http://www.cnblogs.com/yytx/p/7064790.html 2.个人负责模块 有关排行榜的界面设计和代码编写 3.自己的代码提交记录截图 4. ...

  6. JAVA课程设计+五子棋(个人博客)

    1.团队博客地址: http://www.cnblogs.com/yzb123/p/7063424.html 2.个人负责模块或任务说明 游戏初始化,清除棋盘上的棋子 鼠标监听器 棋子落棋 判断胜负 ...

  7. java课程设计-表达式运算(团队博客)

    1 团队课程设计博客 1 团队名称.团队成员介绍 团队名称 奔跑吧土拨鼠 团队成员 洪亚文 201521123065 网络1513 郑晓丽 201521123066 网络1513 2 项目git地址 ...

  8. JAVA课程设计+购物车 个人博客

    1. 团队课程设计博客链接 2.个人负责模块或任务说明 将数据库中已经存在的商品取出,用表格显示到页面中. 实现在商品页面的购买,直接弹出消息框,输出价格,实现购买. 实现在商品页面进行添加购物车,并 ...

  9. java购物车系统 团队博客

    1. 团队名称.团队成员介绍(需要有照片) 团队名称:一颗LFL 团队成员:廖余俊 计算机工程学院网络工程1512 学号201521123053 方旭 计算机工程学院网络工程1512 学号201521 ...

随机推荐

  1. flume 1.7 的配置

    Apache Flume是一个分布式的.可靠的.高效的日志数据收集组件:我们通常使用Flume将分散在集群中多个Servers的log文件,汇集到中央式的数据平台中,以解决"从离散的日志文件 ...

  2. Web存储—简易注册登录

    Web Storage是HTML5引入的一个非常重要的功能,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,cookie只 ...

  3. 转载_2016,Java成神初年

    原文地址:http://blog.csdn.net/chenssy/article/details/54017826 2016,Java成神初年.. -------------- 时间2016.12. ...

  4. Pyinstaller(python打包为exe文件)

      需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用, ...

  5. redis集群搭建及注意事项

    上一篇:redis的安装及注意事项 这里,在一个Linux虚拟机上搭建6个节点的redis伪集群,思路很简单,一台虚拟机上开启6个redis实例,每个redis实例有自己的端口.这样的话,相当于模拟出 ...

  6. C语言排序

    排序算法 快速排序 C语言快速排序qsort(数组,长度,元素大小,cmp函数(*,*))//注意函数cmp的参数为指针 #include <stdio.h> #include <s ...

  7. 一语惊醒梦中人-《Before I Fall》

    I still remembered  I turned my attention to the title when I browsed in news by cellphone.I saw the ...

  8. jQuery遍历-祖先

    祖先是父.祖父或曾祖父等等. 通过 jQuery,您能够向上遍历 DOM 树,以查找元素的祖先. 向上遍历 DOM 树 这些 jQuery 方法很有用,它们用于向上遍历 DOM 树: parent() ...

  9. Mybatis --- 映射文件、参数处理、参数值的获取、select元素

    映射文件:指导着MyBatis如何进行数据库增删改查, 有着非常重要的意义:   - cache   命名空间的二级缓存配置 - cache-ref   其他命名空间缓存配置的引用. - result ...

  10. Java基础学习——泛型

    一.泛型方法 /** 自定义泛型:自定义泛型可以理解为是一个数据类型的占位符,或者理解为是一个数据类型的变量. 泛型方法: 泛型方法的自定义格式:修饰符<声明自定义泛型>返回值类型 函数名 ...