
以前学习java又做个实例,挺值得学习的。
1首先我先列出我们所需要的java类结构。
1)Databasejava --------- 模拟存储商品的数据库。
2)McBeanjava ------------ 商品实体类,一个普通的javabean,里面有商品的基本属性。
3)OrderItemBeanjava --- 订单表。
4)ShoppingCarjava ------ 这个就是最主要的购物车,当然比较简单。
5)TestShoppingCarjava --- 这个是测试类。
2下面贴出具体代码并带关键注释。
---Databasejava
public class Database {
/采用Map存储商品数据,为什么呢?我觉得这个问题你自己需要想下。
Integer 为Map的key值,McBean为Map的value值。
/
private static Map<Integer, McBean> data = new HashMap<Integer, McBean>();
public Database() {
McBean bean = new McBean();
beansetId(1);
beansetName("地瓜");
beansetPrice(20);
beansetInstuction("新鲜的地瓜");
dataput(1, bean);//把商品放入Map
bean = new McBean();
beansetId(2);
beansetName("土豆");
beansetPrice(12);
beansetInstuction("又好又大的土豆");
dataput(2, bean);//把商品放入Map
bean = new McBean();
beansetId(3);
beansetName("丝瓜");
beansetPrice(15);
beansetInstuction("本地丝瓜");
dataput(3, bean);//把商品放入Map
}
public void setMcBean(McBean mcBean){
dataput(mcBeangetId(),mcBean);
}
public McBean getMcBean(int nid) {
return dataget(nid);
}
}
---McBeanjava
public class McBean {
private int id;//商品编号
private String name;//商品名
private double price;//商品价格
private String instuction;//商品说明
public int getId() {
return id;
}
public void setId(int id) {
thisid = id;
}
public String getName() {
return name;
}
public void setName(String name) {
thisname = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
thisprice = price;
}
public String getInstuction() {
return instuction;
}
public void setInstuction(String instuction) {
thisinstuction = instuction;
}
}
---ShoppingCarjava
public class ShoppingCar {
private double totalPrice; // 购物车所有商品总价格
private int totalCount; // 购物车所有商品数量
private Map<Integer, OrderItemBean> itemMap; // 商品编号与订单项的键值对
public ShoppingCar() {
itemMap = new HashMap<Integer, OrderItemBean>();
}
public void buy(int nid) {
OrderItemBean order = itemMapget(nid);
McBean mb;
if (order == null) {
mb = new Database()getMcBean(nid);
order = new OrderItemBean(mb, 1);
itemMapput(nid, order);
update(nid, 1);
} else {
ordersetCount(ordergetCount() + 1);
update(nid, 1);
}
}
public void delete(int nid) {
OrderItemBean delorder = itemMapremove(nid);
totalCount = totalCount - delordergetCount();
totalPrice = totalPrice - delordergetThing()getPrice() delordergetCount();
}
public void update(int nid, int count) {
OrderItemBean updorder = itemMapget(nid);
totalCount = totalCount + count;
totalPrice = totalPrice + updordergetThing()getPrice() count;
}
public void clear() {
itemMapclear();
totalCount = 0;
totalPrice = 00;
}
public void show() {
DecimalFormat df = new DecimalFormat("¤###");
Systemoutprintln("商品编号\t商品名称\t单价\t购买数量\t总价");
Set set = itemMapkeySet();
Iterator it = setiterator();
while (ithasNext()) {
OrderItemBean order = itemMapget(itnext());
Systemoutprintln(ordergetThing()getId() + "\t"
+ ordergetThing()getName() + "\t"
+ dfformat(ordergetThing()getPrice()) + "\t" + ordergetCount()
+ "\t" + dfformat(ordergetCount() ordergetThing()getPrice()));
}
Systemoutprintln("合计: 总数量: " + dfformat(totalCount) + " 总价格: " + dfformat(totalPrice));
Systemoutprintln("");
}
}
---OrderItemBeanjava
public class OrderItemBean {
private McBean thing;//商品的实体
private int count;//商品的数量
public OrderItemBean(McBean thing, int count) {
super();
thisthing = thing;
thiscount = count;
}
public McBean getThing() {
return thing;
}
public void setThing(McBean thing) {
thisthing = thing;
}
public int getCount() {
return count;
}
public void setCount(int count) {
thiscount = count;
}
}
---TestShoppingCarjava
package comshop;
public class TestShoppingCar {
public static void main(String[] args) {
ShoppingCar s = new ShoppingCar();
sbuy(1);//购买商品编号1的商品
sbuy(1);
sbuy(2);
sbuy(3);
sbuy(1);
sshow();//显示购物车的信息
sdelete(1);//删除商品编号为1的商品
sshow();
sclear();
sshow();
}
}
3打印输出结果
商品编号 商品名称 单价 购买数量 总价
1 地瓜 ¥2 3 ¥6
2 土豆 ¥12 1 ¥12
3 丝瓜 ¥15 1 ¥15
合计: 总数量: ¥5 总价格: ¥87
商品编号 商品名称 单价 购买数量 总价
2 土豆 ¥12 1 ¥12
3 丝瓜 ¥15 1 ¥15
合计: 总数量: ¥2 总价格: ¥27
商品编号 商品名称 单价 购买数量 总价
合计: 总数量: ¥0 总价格: ¥0
4打字太累了,比较匆忙,但是主要靠你自己领会。哪里不清楚再提出来。
网购,需要您开通网上银行办理需您本人带身份z上当地银行开通办理办理时需要同时购买电子卡(一般多在几元之间),建议多问下银行工作人员使用方法
对于学生,可以分情况办理,有身份zyhk可按以上办理,如无身份z可办理邮局网汇E,此业务无须身份z,可在当地邮局直接办理,与平时汇款不多但是收手续费办好后可登陆淘宝支付宝帐户管理,选"网汇E"冲值,输入单号以及在邮局设置的密码即可冲值
如还没网上银行或yhk,只需要在淘宝购物的话,推荐办理支付宝卡通,该卡无须网上银行,安全性更高
支付更为方便
然后,登陆淘宝网(>
struct Shopping
(
int no;//商品编号
string name;//名称
int num;//数量
);
//具体还要加什么信息,可以自己在加;
程序的基本结构是顺序、选择和循环结构。
顺序结构表示程序中的各 *** 作是按照它们出现的先后顺序执行的。选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。
程序
计算机程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。它以某些程序设计语言编写,运行于某种目标结构体系上。所有程序都基于机器语言运行,机器语言是一个以二进制数字(0和1)构成的语言。
它是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。
百度百科——程序
我的真实过程:
1。去邮政银行办一张淘宝卡
绑定手机
这些乱七八糟的可以问营业员
2。申请邮箱
我是在126注册的
然后在淘宝注册
和卡绑定在一起
3第一步上如果你已经存了钱
很好
可以买了
就点立刻购买就行
还有什么不会再问我
以上就是关于Java初学者,哪位友友能帮我设计一个简单的类似超市购物车的程序,参考一下~谢谢!全部的内容,包括:Java初学者,哪位友友能帮我设计一个简单的类似超市购物车的程序,参考一下~谢谢!、网上购物的程序、定义一个结构体包含以下信息,商品编号,名称,数量,使用结构体数组实现一个购物车功能程序。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)