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与数据库相连接等问题。通过不断借鉴与学习反思弥补自己知识储备上的不足,能够将知识运用到实践中,和小伙伴完成一项任务,感到很充实。
Java课程设计 购物车系统(个人博客)的更多相关文章
- JAVA课程设计+五子棋(团队博客)
JAVA课程设计 利用所学习的JAVA知识设计一个五子棋小游戏 1.团队名称.团队成员介绍(菜鸟三人组) 杨泽斌[组长]:201521123049 网络1512 叶文柠[组员]:20152112305 ...
- Java课程设计 ————五子棋 (个人博客)
JAVA课程设计 五子棋(博客个人版) •团队课程设计博客链接 http://www.cnblogs.com/mz201521044152/p/7065575.html •个人负责模块或任务说明 1. ...
- Java课程设计 购物车系统(个人博客) 201521123052 蓝锦明
1. 团队课程设计博客链接 课程设计团队博客 2. 个人负责模块或任务说明 (1)制作图形菜单引导界面 (2)定义各获取和输出类函数 3. 自己的代码提交记录截图 4. 自己负责模块或任务详细说明 i ...
- java 课程设计 购物车系统 个人
Q1.团队课程设计博客链接 团队博客 Q2.个人负责模块或任务说明 我主要负责main函数的编写和系统中瞎看功能代码的编写. Q3.自己的代码提交记录截图 main函数代码如下: public sta ...
- java课程设计——算术运算测试个人博客
1.团队课程设计链接 团队博客:http://www.cnblogs.com/yytx/p/7064790.html 2.个人负责模块 有关排行榜的界面设计和代码编写 3.自己的代码提交记录截图 4. ...
- JAVA课程设计+五子棋(个人博客)
1.团队博客地址: http://www.cnblogs.com/yzb123/p/7063424.html 2.个人负责模块或任务说明 游戏初始化,清除棋盘上的棋子 鼠标监听器 棋子落棋 判断胜负 ...
- java课程设计-表达式运算(团队博客)
1 团队课程设计博客 1 团队名称.团队成员介绍 团队名称 奔跑吧土拨鼠 团队成员 洪亚文 201521123065 网络1513 郑晓丽 201521123066 网络1513 2 项目git地址 ...
- JAVA课程设计+购物车 个人博客
1. 团队课程设计博客链接 2.个人负责模块或任务说明 将数据库中已经存在的商品取出,用表格显示到页面中. 实现在商品页面的购买,直接弹出消息框,输出价格,实现购买. 实现在商品页面进行添加购物车,并 ...
- java购物车系统 团队博客
1. 团队名称.团队成员介绍(需要有照片) 团队名称:一颗LFL 团队成员:廖余俊 计算机工程学院网络工程1512 学号201521123053 方旭 计算机工程学院网络工程1512 学号201521 ...
随机推荐
- Mac OS X 终端命令开启功能
1.系统目录下显示资源库2.Finder显示隐藏文件3.Xcode卸载4.在Finder标题栏显示完整路径5.去掉窗口截屏的阴影6.强制Safari在新标签中打开网页7.改变截屏图片的保存位置 1.系 ...
- Azkaban3.x集群部署(multiple executor mode)
介绍 Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程.Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于 ...
- 使用EasyWechat快速开发微信支付
前期准备: 申请微信支付后, 会收到2个参数, 商户id,和商户key.注意,这2个参数,不要和微信的参数混淆.微信参数: appid, appkey, token支付参数: merchant_id( ...
- JAVA在win10上的安装环境配置
[TOC] 第一步: 打开右击电脑选择属性 第二步: 选择高级系统设置 第三部: 选择环境变量 第四部: 选择在系统变量中新建:JAVA_HOME 属性值为你的java的jdk的位置比如我的:E:\J ...
- You don't know js
"Give me a chance to know you. " 更多内容: 移步这里 1. 作用域 1.1. 编译原理 尽管通常将 JavaScript 归类为"动态& ...
- Markdown+Pandoc 最佳写作拍档 (mailp.in)
Markdown+Pandoc 最佳写作拍档 我们为什么写作? 自从人们开始写作,写作便是记录.抒发.批判.反省的好工具.从石板上的刻印到笔墨纸砚,再到如今的信息时代.从静态的个人主页到托管博客,从个 ...
- STM32F030系列实现仿位带操作
1.闲言 最近开发的时候,用到了STM32F030F4P6型号的单片机,它只有20个引脚,价格非常便宜,但是功能齐全:定时器.外部中断.串口.IIC.SPI.DMA和WWDG等等,应用尽有,非常适合用 ...
- jsp基本语法及运行原理
一.jsp简介 JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导.许多公司参与一起建立 ...
- 问题: 数据流中位数 求解 时间复杂度度 java
今天练习了一题: 数据流中位数 问题描述:数字是不断进入数组的,在每次添加一个新的数进入数组的同时返回当前新数组的中位数. 案例: 持续进入数组的数的列表为:[1, 2, 3, 4, 5],则返回[1 ...
- 每次启动懂maven项目都必须关闭javaw.exe进程
最近几天一致在搞配置问题,今天总于解决了.下面说问题: 我发现我每次配置完maven build的goals运行,总是会出现TOMCAT绑定接口问题,我做的方法就是不断地关掉JAVAw.exe进程.但 ...