代码下载地方:“
购物车以及其他代码的下载地址:
复制代码
1https://download.csdn.net/download/wtt234/39099704
”
ATMjava源代码下载地址:
复制代码
1https://download.csdn.net/download/wtt234/39661172
具体看注释:
本案例涉及两个原文件内容,分别是“”“Goods.java”,作为封装的商品类信息
第二个就是主程序"shopCap.java"的内容;
这个是Goods.java内容信息
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14package gouwuche; // 封装的商品类 public class Goods { int id; //编号 String name; //名称 double price; //价格 int buyNumber; //购买数量 }
这个是shopCap.java文件内容;
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244package gouwuche; import java.sql.SQLOutput; import java.util.Scanner; /** * 购物车模块模拟 * 需求:模拟购物车模块的功能,需要实现添加商品到购物车中, * 同时需要提供修改商品的购买数量,结算商品价格功能 * * 分析: * 购物车中的每个商品都是一个对象,需要定义一个商品类 * 购物车本身也是一个对象,可以使用数组对象代表他 * 完成界面架构,让用户选择操作的功能 */ public class ShopCar { public static void main(String[] args) { //添加商品add /**查看商品 query * 修改数量update * 结算价格pay * 需求:让用户输入商品信息,并加入到购物车,并且可以立即查看购物车信息 * 需要让用户录入商品信息,创建商品对象封装商品信息 * 并把商品对象加入到购物车数组中去 * 查询购物车信息,就是遍历购物车数组中的每个商品对象。 * * */ // 2.定义购物车对象,使用一个数组对象表示 Goods[] shopCar=new Goods[100]; //[null,null,null,...] Scanner sc=new Scanner(System.in); //3.搭建操作框架 while (true){ System.out.println("请您选择如下命令进行操作:"); System.out.println("添加商品到购物车:add"); System.out.println("查询商品到购物车:query"); System.out.println("修改商品购买数量:update"); System.out.println("结算购买商品的金额:pay"); System.out.println("请输入命令:"); String command=sc.next(); switch (command){ case "add": //添加商品到购物车 addGoods(shopCar,sc); break; case "query": //查询购物车的商品展示 queryGoods(shopCar); break; case "update": //修改商品的购买数量 updateGoods(shopCar,sc); break; case "pay": //结算金额 pay(shopCar); break; default: System.out.println("没有该功能!"); } } } public static void pay(Goods[] shopCar) { /** *当用户输入pay命令后,需要展示全部购买的商品信息和总金额 * 分析: * 定义求和变量,遍历购物车数组中的全部商品,累加其单价*购买数量。 */ //1.定义一个求和变量累加金额 double money=0; //2.遍历购物车数组中的全部商品对象,累加单价*数量 //[g1,g2,null,null...] for (int i = 0; i <shopCar.length ; i++) { Goods g=shopCar[i]; if(g!=null){ money+=(g.price*g.buyNumber); }else{ break; } } System.out.println("订单总金额:"+money); } public static void updateGoods(Goods[] shopCar,Scanner sc) { /** * 让用户输入商品id,找出对应的商品修改其购买数量 */ while (true){ System.out.println("请输入要修改的商品id:"); int id=sc.nextInt(); Goods g=getGoodsById(shopCar,id); if(g==null){ //没有该商品 System.out.println("对不起,没有购买商品!"); }else{ //说明存在该商品对象,可以修改它了 System.out.println("请输入:"+g.name+"商品最新购买数量:"); int buyNumber=sc.nextInt(); g.buyNumber=buyNumber; System.out.println("修改完成!"); queryGoods(shopCar); //修改完成后,在查询下商品信息 break; } } } public static Goods getGoodsById(Goods[] shopCar,int id){ //shopCar=g1,g2,null,null,....] for (int i = 0; i <shopCar.length ; i++) { Goods g=shopCar[i]; if(g!=null){ //判断这个商品对象的id是否是我们查找的 if(g.id==id){ return g; } }else { return null; // 找完了全面存在的商品,都没有找到! } } return null; //代表找完了购物车中100个商品都是没有找到id一样的商品。 } public static void queryGoods(Goods[] shopCar) { /** *查询购物车信息就是遍历购物车数组中的每个商品对象 */ System.out.println("========查询购物车信息如下========="); System.out.println("编号tt名称tt价格tt购买数量"); //shopCar=[g1,g2,g3,g4,g5,null,null,...] for (int i = 0; i <shopCar.length ; i++) { Goods g=shopCar[i]; //定义一个商品实例,用于接收循环出的实例。 if(g!=null){ //展示这个商品 System.out.println(g.id+"tt"+g.name+"tt"+g.price+"tt"+g.buyNumber); }else{ //遍历结束 break; } } } /** * 添加商品到购物车 * @param shopCar * @param sc * * 分析:需要让用户录入商品信息,创建商品对象封装商品信息 * 并把商品对象加入到购物车的数组中去。 * 查询购物车信息,就是遍历购物车数组中的每个商品对象 */ public static void addGoods(Goods[] shopCar, Scanner sc){ //1.录入用户输入的购买商品的信息 System.out.println("请输入购买商品的编号(不重复):"); int id=sc.nextInt(); System.out.println("请输入购买商品的名称:"); String name=sc.next(); System.out.println("请输入购买商品的数量):"); int buyNumber=sc.nextInt(); System.out.println("请输入购买商品的价格:"); double price=sc.nextDouble(); //2.把这个购买商品的信息封装成一个商品对象 Goods g=new Goods(); g.id=id; g.name=name; g.buyNumber=buyNumber; g.price=price; //3.把这个商品对象添加到购物车数组中去 //shopCar=a1,a2,null,null,....] for (int i = 0; i <shopCar.length ; i++) { if(shopCar[i]==null){ //说明此位置没有元素存入,把我们新买的商品添加到此处即可 shopCar[i]=g; break; //结束,商品已经成功录入,不需要继续找位置了 } } System.out.println("您的商品"+g.name+"添加到购物车完成!"); } }
最后
以上就是含糊小甜瓜最近收集整理的关于java案例代码10--购物车案例--重要的全部内容,更多相关java案例代码10--购物车案例--重要内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复