java订单类_使用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;

// 订单总价格

public 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","小明","高级会员");

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);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持乐购源码。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值