购物车的Java代码

购物车的Java代码,第1张

简单点的,每次生成一个随便数(0-9),然后用这个下标到数组中去取数,取出来后判断是不是取过了,如果已经取过了,丢弃它,重新再取,总会得到4个的

也可以每次生成两个随机数(0-9),然后交换数组中这两个下标的数值,多交换几次,那么数组就是混洗开了,取混洗后的数组的前四个数就行

物车的逻辑业务的实现(MyCartBOjava),能够满足用户的添加,删除,修改,清空,查看购物车的信息!

ConnDBjava(这只是一个得到数据库连接和类)

01 //连接数据库

02 package cnfqfxmodel;

03

04 import javasql;

05

06 public class ConnDB

07 {

08 //定义一个连接

09 private Connection ct = null;

10

11 //得到连接

12 public Connection getConn()

13 {

14 try {

15 //加载驱动

16 ClassforName("commicrosoftjdbcsqlserverSQLServerDriver");

17 //得到连接

18 ct = DriverManagergetConnection

19 ("jdbc:microsoft:sqlserver://localhost:1433;databaseName=whdb2","sa","sa");

20 } catch (Exception e) {

21 eprintStackTrace();

22 // TODO: handle exception

23 }

24 return ct;

25 }

26 }

GoodsBeanjava(这个文件主要用来保存从数据库的goods表中取得的信息)

01 //这是一个与Goods表对应的java bean

02 //表的信息可以保存在这里面

03 package cnfqfxmodel;

04

05 public class GoodsBean

06 {

07 //分别与goods表的各个字段相对应

08 private int goodsId = 0;

09 private String goodsName = "";

10 private String goodsInfo = "";

11 private String goodsPlace = "";

12

13

14 public int getGoodsId() {

15 return goodsId;

16 }

17 public void setGoodsId(int goodsId) {

18 thisgoodsId = goodsId;

19 }

20

21

22 public String getGoodsName() {

23 return goodsName;

24 }

25 public void setGoodsName(String goodsName) {

26 thisgoodsName = goodsName;

27 }

28

29

30 public String getGoodsInfo() {

31 return goodsInfo;

32 }

33 public void setGoodsInfo(String goodsInfo) {

34 thisgoodsInfo = goodsInfo;

35 }

36

37

38 public String getGoodsPlace() {

39 return goodsPlace;

40 }

41 public void setGoodsPlace(String goodsPlace) {

42 thisgoodsPlace = goodsPlace;

43 }

44 }

MyCartBOjava(这个就是购物车,主要以HashMap实现存放用户想买的商品id,商品数量然后,通过方法的调用把购物车中的信息返回到界面让用户看)

001 //这是一个业务对象,相当于一个购物车!!

002 //-->使用说明:这个购物车最好是在session中使用,因为一个用户一辆购物车,这样东西才不会一直丢

003 package cnfqfxmodel;

004

005 import javasql;

006 import javautil;

007

008 public class MyCartBO

009 {

010 //定义几个数据库的连接

011 private Connection ct = null;

012 private PreparedStatement ps = null;

013 private ResultSet rs = null;

014

015 //定义一个HashMap充当购物车,第一个用来存放goodsId,值就是goods的数量

016 HashMap<String, String> hm = new HashMap<String, String>();

017

018 //当用户想购买的时候,就加入 购物车里面

019 public void addGoods(String goodsId, String goodsNumber)

020 {

021 hmput(goodsId, goodsNumber);

022 }

023

024 //当用户不想要东西的时候,就把它删除

025 public void delGoods(String goodsId)

026 {

027 hmremove(goodsId);

028 }

029

030 //当用户什么也不想要的时候,就清空它

031 public void clearGoods()

032 {

033 hmclear();

034 }

035

036 //当用户想更换物品的数量的时候,就更新一下

037 public void upGoods(String goodsId, String newNumber)

038 {

039 //还是用加入物品的方法,因为会自动替换掉它,如果货物名字想换,那说明用户想删除了

040 hmput(goodsId, newNumber);

041 }

042

043 //得到单个物品的数量,要用的话把它转成int型再使用

044 public String getGoodsNumberByGoodsId(String goodsId)

045 {

046 return hmget(goodsId);

047 }

048

049 //把购物车的东西全部取出来,放入ArrayList里面

050 public ArrayList<GoodsBean> getAllGoods()

051 {

052 //要知道这个ArrayList是用来放GoodsBean,因为GoodsBean与表相对应,所以可以保存物品的信息

053 ArrayList<GoodsBean> al = new ArrayList<GoodsBean>();

054 try {

055 //得到连接

056 ct = new ConnDB()getConn();

057

058 //想一个sql语句,主要是取得goodsId,就可以全部取出来给外面的使用

059 String sql = "select from goods where goodsId in (";

060 Iterator<String> it = hmkeySet()iterator();

061 while(ithasNext())

062 {

063 //把goodsId取出来

064 String goodsId = itnext();

065 if(ithasNext()){

066 sql += goodsId+",";

067 }else{

068 sql += goodsId+")";

069 }

070 }

071

072 //创建ps,上面把sql语句组织好

073 ps = ctprepareStatement(sql);

074

075 //执行

076 rs = psexecuteQuery();

077

078 //取出来,放在GoodsBean,再把GoodsBean一个个放入ArrayList中,显示的页面就可以调用了

079 while(rsnext())

080 {

081 GoodsBean gb = new GoodsBean();

082 gbsetGoodsId(rsgetInt(1));

083 gbsetGoodsName(rsgetString(2));

084 gbsetGoodsInfo(rsgetString(3));

085 gbsetGoodsPlace(rsgetString(4));

086

087 //把gb放入al,相当于保存了从数据库中获得的数据

088 aladd(gb);

089 }

090 } catch (Exception e) {

091 eprintStackTrace();

092 // TODO: handle exception

093 }finally{

094 thiscloseDBResource();

095 }

096 return al;

097 }

098

099 //关闭数据库资源

100 public void closeDBResource()

101 {

102 try {

103 if(rs != null){

104 rsclose();

105 rs = null;

106 }

107 } catch (Exception e2) {

108 e2printStackTrace();

109 // TODO: handle exception

110 }

111 try {

112 if(ps != null){

113 psclose();

114 ps = null;

115 }

116 } catch (Exception e2) {

117 e2printStackTrace();

118 // TODO: handle exception

119 }

120 try {

121 if(ct != null){

122 ctclose();

123 ct= null;

124 }

125 } catch (Exception e2) {

126 e2printStackTrace();

127 // TODO: handle exception

128 }

129 }

130 }

import javautilArrayList;

import javautilHashMap;

import javautilIterator;public class ShoppingCartManager {

HashMap<String, String> hm=new HashMap<String, String>();

float totlePrice=0;

//添加book到购物车

public void addBook(String bookId,String bookQuantity){

if(hmcontainsKey(bookId)){

int value=IntegerparseInt(hmget(bookId));

value+=IntegerparseInt(bookQuantity);

hmput(bookId, value+"");

}else{

hmput(bookId, bookQuantity);

}

}

//修改数量

public void updateQuantity(String bookId,String bookQuantity){

hmput(bookId, bookQuantity);

}

//获取购物车的所有信息 并计算总价

public ArrayList<BookBean> getShoppingCart(){

ArrayList<BookBean> al=new ArrayList<BookBean>();

Iterator<String> i=hmkeySet()iterator();

String ids="";

BookTableManager btm=new BookTableManager();

while(ihasNext()){

ids=ids+","+inext();

}

al= btmselectByBookIds(ids);

totlePrice=0; //清空总价,防止无限累计

for(int j=0;j<alsize();j++){

BookBean bb=alget(j);

totlePrice+=bbgetPrice()IntegerparseInt(getQuantityById(bbgetBookId()+""));

}

return al;

}

//获取总价

public float getTotlePrice(){

return totlePrice;

}

//根据ID获取数量

public String getQuantityById(String id){

String quantity=hmget(id);

return quantity;

}

//清空购物车

public void clear(){

hmclear();

}

//删除购物车中的一本书

public void deleteById(String id){

hmremove(id);

}

}

package Server;

import javaio;

import javanet;

import messageMessageType;

//该线程用于和客服端进行通信,是一个线程类

public class ServerClientComunicationThread extends Thread{

Socket s=null;

ObjectInputStream ois=null;

MessageType mt=null;

ObjectOutputStream oos=null;

public ServerClientComunicationThread(Socket s){

thiss=s;

}

public void run(){

//不停地从socket里面读取数据

while(true){

try {

ois=new ObjectInputStream(sgetInputStream());

mt=(MessageType)oisreadObject();

Systemoutprintln("服务器读取到的信息");

Systemoutprintln(mtgetContent()+" "+mtgetGetter()+" "+

mtgetMessagetype()+mtgetSendTime());

//将读取到的数据转发给对应的客服端

Systemoutprintln("从集合里面可以找到用户压迫将数据发送给"+ ManageOnlineUserhmget(mtgetGetter()));

oos=new ObjectOutputStream(( ManageOnlineUserhmget(mtgetGetter()))getOutputStream());

ooswriteObject(mt);

} catch (Exception e) {

eprintStackTrace();

}

}

}

}

以上就是关于定义一个数组,里面有10个元素,然后我想随机取10个元素中的4个,求方法.(android ,java都行)全部的内容,包括:定义一个数组,里面有10个元素,然后我想随机取10个元素中的4个,求方法.(android ,java都行)、java网上预约功能怎么实现啊。。、购物车的Java代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/8767109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存