基于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 pds;

// 订单总金额

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 list = new 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 list = new 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小时内删除侵权内容。

上一篇:MyBatis实现动态SQL的实现方法
下一篇:简单了解Java方法的定义和使用实现详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~