java怎么拦截某个对象
262
2023-05-23
基于Java创建一个订单类代码实例
这篇文章主要介绍了基于java创建一个订单类代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
需求描述
定义一个类,描述订单信息
订单id
订单所属用户(用户对象)
订单所包含的商品(不定数量个商品对象)
订单总金额
订单应付金额:
总金额500~1000,打折85折
总金额1000~1500,打折80折
总金额1500~2000,打折70折
总金额超过2000,打折65折
在此基础上,还要看用户的vip等级
用户vip等级为:一般会员,则折上折:95
用户vip等级为:中级会员,则折上折:90
用户vip等级为:高级会员,则折上折:80
代码实现
User.java
package cn.test.logan.day04;
/**
* 用户类
* 包含信息项目:用户ID、用户名、用户会员等级
* @author QIN
*
*/
public class User {
// 用户ID
public String CustId;
// 用户名
public String CustName;
// 用户会员等级
public String CustLevel;
public User() {
}
public User(String CustId,String CustName,String CustLevel) {
this.CustId = CustId;
this.CustName = CustName ;
this.CustLevel = CustLevel ;
}
}
Product.java
package cn.test.logan.day04;
/**
* 商品类
* 包含:商品ID、商品名称、商品价格、商品数量
* @author QIN
*
*/
public class Product {
// 商品ID
public String pId;
// 商品名称
public String pName;
//商品价格
public float price;
// 商品数量
public int number;
public Product() {
}
public Product(String pId, String pName,float price,int number) {
this.pId = pId;
this.pName = pName;
this.price = price;
this.number = number;
}
}
Order.java
package cn.test.logan.day04;
import java.util.ArrayList;
/**
* 订单类
* 包含:订单ID、订单所属用户、订单所包含的商品、订单总金额、订单应付金额
* 500-1000 -------> 8.5折
* 1000-1500 -------> 8折
* 1500-2000 -------> 7折
* 2000以上 -------> 6.5折
* 如果是会员,那么可以基于以上折扣继续折扣
* 一般会员:9.5折
* 中级会员:9折
* 高级会员:8折
* @author QIN
*
*/
public class Order {
// 订单ID
public String ordId;
// 订单所属用户
public User user;
// 订单所包含的商品(多个商品,使用ArrayList)
public ArrayList
// 订单总金额
phttp://ublic float ordAllAmt;
// 订单应付金额
public float payAmt;
// 计算总金额的方法
public void setAllAmt() {
float sum = 0;
for(int i=0;i sum +=this.pds.get(i).price * this.pds.get(i).number; } this.ordAllAmt = sum; } // 计算实付金额 public void setPayAmt() { float tmp = this.ordAllAmt; // 根据总金额进行折扣 if(this.ordAllAmt >= 500 && this.ordAllAmt < 1000) { tmp = this.ordAllAmt * 0.85f; } if(this.ordAllAmt >= 1000 && this.ordAllAmt < 1500) { tmp = this.ordAllAmt * 0.8f; } if(this.ordAllAmt >= 1500 && this.ordAllAmt < 2000) { tmp = this.ordAllAmt * 0.7f; } if(this.ordAllAmt >= 2000) { tmp = this.ordAllAmt * 0.65f; } // 根据会员等级折扣 if(user.CustLevel.equals("一般会员")) { tmp = tmp * 0.95f; } if(user.CustLevel.equals("中级会员")) { tmp = tmp * 0.9f; } if(user.CustLevel.equals("高级会员")) { tmp = tmp * 0.8f; } //计算结果赋值给对象上的payAmt变量 this.payAmt = tmp; } } OrderTest.java package cn.test.logan.day04; import java.util.ArrayList; public class OrderTest { public static void main(String[] args) { // 创建订单对象 Order ord = new Order(); ord.ordId="001"; // 创建订单所属用户对象 User u_xm = new User("C001","小明","高级会员");VRoQpyj ord.user = u_xm; // 创建商品对象 ArrayList Product p1 = new Product("P001","杰克琼斯",500.5f,2); Product p2 = new Product("P002","Nick",1000f,1); Product p3 = new Product("P003","Adidas",1200f,2); list.add(p1); list.add(p2); list.add(p3); ord.pds = list ; ord.setAllAmt(); ord.setPayAmt(); System.out.println("订单总金额:" + ord.ordAllAmt); System.out.println("订单应付金额:" + ord.payAmt); } }
sum +=this.pds.get(i).price * this.pds.get(i).number;
}
this.ordAllAmt = sum;
}
// 计算实付金额
public void setPayAmt() {
float tmp = this.ordAllAmt;
// 根据总金额进行折扣
if(this.ordAllAmt >= 500 && this.ordAllAmt < 1000) {
tmp = this.ordAllAmt * 0.85f;
}
if(this.ordAllAmt >= 1000 && this.ordAllAmt < 1500) {
tmp = this.ordAllAmt * 0.8f;
}
if(this.ordAllAmt >= 1500 && this.ordAllAmt < 2000) {
tmp = this.ordAllAmt * 0.7f;
}
if(this.ordAllAmt >= 2000) {
tmp = this.ordAllAmt * 0.65f;
}
// 根据会员等级折扣
if(user.CustLevel.equals("一般会员")) {
tmp = tmp * 0.95f;
}
if(user.CustLevel.equals("中级会员")) {
tmp = tmp * 0.9f;
}
if(user.CustLevel.equals("高级会员")) {
tmp = tmp * 0.8f;
}
//计算结果赋值给对象上的payAmt变量
this.payAmt = tmp;
}
}
OrderTest.java
package cn.test.logan.day04;
import java.util.ArrayList;
public class OrderTest {
public static void main(String[] args) {
// 创建订单对象
Order ord = new Order();
ord.ordId="001";
// 创建订单所属用户对象
User u_xm = new User("C001","小明","高级会员");VRoQpyj
ord.user = u_xm;
// 创建商品对象
ArrayList
Product p1 = new Product("P001","杰克琼斯",500.5f,2);
Product p2 = new Product("P002","Nick",1000f,1);
Product p3 = new Product("P003","Adidas",1200f,2);
list.add(p1);
list.add(p2);
list.add(p3);
ord.pds = list ;
ord.setAllAmt();
ord.setPayAmt();
System.out.println("订单总金额:" + ord.ordAllAmt);
System.out.println("订单应付金额:" + ord.payAmt);
}
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~