用java语言写网上购物的语句_用java代码写一个简单的网上购物车程序
1 需求:1、写一个商品类,有商品编号、商品名称、商品分类、商品单价属性。2、写一个商品条目信息类,有商品和数量两个属性,有商品总价格方法。2
3 3、写一个购物车类,有添加商品方法、查看订单信息,删除商品,修改商品,清空购物车,求购物车中所有商品总金额方法。4、写一个测试类,测试上述方法。4
5 商品类:6 [java] view plain copy7
8 public classProduct {9 private int productId;//商品编号
10 private String productName;//商品名称
11 private String category;//商品分类
12 private double price;//单价
13
14 public Product() {//无参构造
15 super();16 }17
18 public Product(intproductId, String productName, String category,19 doubleprice) {20 super();21 this.productId =productId;22 this.productName =productName;23 this.category =category;24 this.price =price;25 }26
27 publicString toString() {28 return "Product [productId=" + productId + ", productName="
29 + productName + ", category=" + category + ", price=" +price30 + "]";31 }32
33 public intgetProductId() {34 returnproductId;35 }36
37 public void setProductId(intproductId) {38 this.productId =productId;39 }40
41 publicString getProductName() {42 returnproductName;43 }44
45 public voidsetProductName(String productName) {46 this.productName =productName;47 }48
49 publicString getCategory() {50 returncategory;51 }52
53 public voidsetCategory(String category) {54 this.category =category;55 }56
57 public doublegetPrice() {58 returnprice;59 }60
61 public void setPrice(doubleprice) {62 this.price =price;63 }64
65 }66
67 商品条目信息类:68 [java] view plain copy69
70 public classProductItem {71 private Product product;//购买的商品
72 private int count;//商品数量
73 public double totalMoney(){//小计
74 double price=product.getPrice();//获取商品单价
75 return price*count;76 }77
78 publicProductItem() {79 super();80 }81
82 public ProductItem(Product product, intcount) {83 super();84 this.product =product;85 this.count =count;86 }87
88 publicProduct getProduct() {89 returnproduct;90 }91 public voidsetProduct(Product product) {92 this.product =product;93 }94 public intgetCount() {95 returncount;96 }97 public void setCount(intcount) {98 this.count =count;99 }100
101 }102
103
104 购物车类:105 [java] view plain copy106
107 importjava.util.Collection;108 importjava.util.Iterator;109 importjava.util.LinkedHashMap;110 importjava.util.Map;111 public class ShoppingCart {//购物车112 //key:商品编号 value:商品条目
113 private Map map=new LinkedHashMap();114
115 public void addProduct(Product p){//添加商品
116 int productId=p.getProductId();117 if(map.containsKey(productId)){118 ProductItem productItem=map.get(productId);119 productItem.setCount(productItem.getCount()+1);120 }else{121 map.put(productId, new ProductItem(p,1));122 }123 }124 public void showAll(){//查看订单信息
125 Collection productItems =map.values();126 Iterator iterator =productItems.iterator();127 while(iterator.hasNext()){128 ProductItem productItem =iterator.next();129 Product product =productItem.getProduct();130 System.out.println("商品编号:"+product.getProductId()+",商品名称:"
131 +product.getProductName()+",单价:"+product.getPrice()+",数量:"+productItem.getCount()132 +",小计:"+productItem.totalMoney());133 }134 }135 public boolean deleteProduct(int productId){//删除商品
136 if(map.containsKey(productId)){137 map.remove(productId);138 return true;139 }140 return false;141 }142 public boolean modifyProduct(int productId,int count){//修改
143 if(map.containsKey(productId)){144 if(count>=1){145 ProductItem productItem =map.get(productId);146 productItem.setCount(count);147 return true;148 }else if(count==0){//删除该商品
149 deleteProduct(productId);150 return true;151 }152 }153 return false;154 }155
156 public void clearCart(){//清空购物车
157 map.clear();158 }159
160 public double totalAllMoney(){//商品总钱数
161 double total=0;162 Collection productItems =map.values();163 Iterator iterator =productItems.iterator();164 while(iterator.hasNext()){165 ProductItem productItem =iterator.next();166 double money=productItem.totalMoney();167 total+=money;168 }169 returntotal;170 }171 }172
173
174 测试类:175 [java] view plain copy176
177 public classShoppingCartTest {178
179 public static voidmain(String[] args) {180 ShoppingCart cart=newShoppingCart();181 Product p1=new Product(101,"华硕笔记本","笔记本",4599);182 Product p2=new Product(102,"苹果","水果",5.9);183 Product p3=new Product(103,"彩电","家电",2799);184 Product p4=new Product(104,"秋裤","服装",128);185 Product p5=new Product(105,"华为手机","手机",2998);186 Product p6=new Product(101,"华硕笔记本","笔记本",4599);//测试买两件商品的情况
187 cart.addProduct(p1);188 cart.addProduct(p2);189 cart.addProduct(p3);190 cart.addProduct(p4);191 cart.addProduct(p5);192 cart.addProduct(p6);193 cart.showAll();194 System.out.println("############");195 boolean flag=cart.deleteProduct(p2.getProductId());196 if(flag){197 System.out.println("商品编号为:"+p2.getProductId()+"的商品删除成功!");198 }else{199 System.out.println("删除失败");200 }201 cart.showAll();202 System.out.println("############");203 boolean flag2=cart.modifyProduct(p3.getProductId(), 2);204 if(flag2){205 System.out.println("商品编号为:"+p3.getProductId()+"的商品修改成功!");206 }else{207 System.out.println("修改失败");208 }209 cart.showAll();210
211 //cart.clearCart();212 //cart.showAll();
213 System.out.println("商品总价钱为:"+cart.totalAllMoney());214
215 }216
217 }
用java语言写网上购物的语句_用java代码写一个简单的网上购物车程序相关推荐
- java任何表达式都可以当作语句_在Java语言中语句用分号终止,并不是所有的表达式都可以构成语句...
在Java语言中,语句以分号":"作为结束标志.块语句由其他语句组成,其本身不需要用分号结尾.另外,内嵌有块语句并以块语句结尾的语句,也不需要用分号结尾. Java语句可分为空语句 ...
- java语言采用16位颜色标准_华为Java笔试题一
华为Java笔试题一 D.Servlet 2.下列说法正确的有( ) A. 环境变量可在编译source code时指定 B. 在编译程序时,所能指定的环境变量不包括class path C. jav ...
- break在java语言中什么意思_在Java语言的控制结构中,break语句是经常用到的语句。在switch语句中break语句的作用是( )_学小易找答案...
[单选题]( )是一个综合性的网络营销工具,在所有的网络营销工具中也是最基本.最重要的一个. [单选题]给出下列的代码,哪行在编译时可能会有错误( ) 1 public static void mai ...
- java 删除语句_是java语句
<21天学通Java(第7版)>-- 第2章 Java编程基础 2.1 语句和表达式 本节书摘来异步社区<21天学通Java(第7版)>一书中的第2章,第2.1节,作者: [美 ...
- 基于java的网上花店销售系统_基于JAVA的鲜花销售系统(含全套CAD图纸).doc
基于JAVA的鲜花销售系统(含全套CAD图纸) 编号 太湖学院 毕业设计(论文) 题目: 信机 系 专业 学 号: 学生姓名: 指导教师: 201年5月2日太湖学院本科毕业设计(论文) 诚 信 承 诺 ...
- java只允许单一继承_问题:Java语言只允许单继承,指每个类只能有一个 ( )
问题:Java语言只允许单继承,指每个类只能有一个 ( ) 更多相关问题 用List命令显示表文件中的当前记录的命令格式是________. WHERE子句的条件表达式中,可以匹配0个到多个字符的通配 ...
- 怎样用java写一个简单的文件复制程序
怎样用java写一个简单的文件复制程序 代码来源:https://jingyan.baidu.com/article/c35dbcb0d6f1398916fcbc07.html package Num ...
- java中的事件都继承自_下列说法中不正确的是()。A.Java语言中的事件都是继承自Java.awt.AW-TEvent类B.AWTEve...
下列说法中不正确的是().A.Java语言中的事件都是继承自Java.awt.AW-TEvent类B.AWTEve 更多相关问题 [单选] 月经后期而至,量少,色淡,质清稀,少腹隐痛,喜暖喜按,脉沉迟 ...
- java语言说法不正确的是_下列有关Java语言描述不正确的是()。 - 问答库
问题: [单选] 下列有关Java语言描述不正确的是(). A . Java语言开发的程序与平台无关,即:用Java语言开发的程序可以在不同的操作系统下运行 B . Java采用完全面向对象的程序设计 ...
- java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter6-27
java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter6-27 自己纯手工,欢迎讨论 package chapter6;public class T27 ...
最新文章
- 捷报!又一名HIV感染者被治愈,干细胞移植再次立功
- metasploit 一款开源的渗透测试框架
- 区块链基础知识系列 第三课 区块链中的默克尔树
- oracle怎么查询换行符,关于oracle:如何检查表中所有列的换行符
- /UI5/IF_UI5_REP_PERSISTENCE - why I cannot deploy app to GM6
- python用什么来写模块-使用C语言编写Python模块-引子【转】
- CSDN博客排名不更新,谈谈重构的做法
- 计算机网络应用答题卡,计算机软考中高级答题卡填涂注意事项
- Enterprise Architect学习(1)
- 不要轻易在简历上写我热爱编程,我热爱学习—兄弟连IT教育
- 苹果市场金融类app上架ios1.2 ,5.2.1或3.21被拒原因解析
- 阿里云服务器部署记录
- 044-Web前端-JS-键盘事件
- 文件名目录名或卷标语法不正确怎么修复?
- miniGUI 3.0.2 在Hi3535平台上的移植
- 通过类型转换来显示一些字符在Unicode表中的位置,以及Unicode表中某些位置上的字符
- 项目数据字典数据导入导出
- 菲尔兹奖得主小平邦彦:数学是什么?
- 软件工程考研复试速成 - 知识点精炼 - 背诵版
- 建站前的几大禁忌,你是否做到
热门文章
- 全国30m精度二级分类土地利用数据
- pandas读取与存储操作详解
- 程序设计与编译(C++入门)
- oracle like 前缀,algorithm – 在ORACLE中搜索最长前缀的最快方法
- email java,java email 过程
- python基础教程 pdf github_GitHub - looly/python-basic: 老齐(qiwsir)的Python基础教程Gitbook版...
- python怎么配置pip_python如何配置pip
- httpget和ajax,javascript - HTTP中的get、post请求和ajax的get、post请求是一个东西吗?...
- mysql 修改前缀_批量修改mysql的表前缀
- 基于 Redis 的分布式锁到底安全吗(上)?