这篇文章主要介绍了基于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);

}

}

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

java订单类_基于Java创建一个订单类代码实例相关推荐

  1. 曼哈顿距离java实现_基于javascript实现获取最短路径算法代码实例

    这篇文章主要介绍了基于javascript实现获取最短路径算法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 //A算法 自动寻路 ...

  2. cpu java poi 导出_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  3. java自动生成生成java透视表_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  4. java excel 透视_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  5. 基于python的音频播放器_基于python实现音乐播放器代码实例

    基于python实现音乐播放器代码实例,一首,函数,按钮,布局,音乐 基于python实现音乐播放器代码实例 易采站长站,站长之家为您整理了基于python实现音乐播放器代码实例的相关内容. 核心播放 ...

  6. python开发语音录入_基于python实现语音录入识别代码实例

    这篇文章主要介绍了如何通过python实现语音录入识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.介绍 1.第一步录音存入本地 2.调用百度 ...

  7. java path类_基于java Files类和Paths类的用法(详解)

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSystem ...

  8. 基于java订单管理系统_基于JAVA技术的订单管理系统(DOC毕业设计论文)

    基于JAVA技术的订单管理系统(DOC毕业设计论文) 摘要本 论 文 的 研 究 课 题 是 < 基 于 JSP 技 术 的 订 单 管 理 系 统 > 的 实 现 . 本 系 统 通过 ...

  9. java刘备猜拳游戏类_基于java实现人机猜拳游戏

    本文实例为大家分享了java实现人机猜拳游戏的具体代码,供大家参考,具体内容如下 完成人机猜拳互动游戏的开发,用户通过控制台输入实现出拳,电脑通过程序中的随机数实现出拳,每一局结束后都要输出结果.当用 ...

最新文章

  1. html文字变成汉堡插件,一组超酷汉堡包图标变形动画特效
  2. 编译mysql4.0时候出现错误提示checking LinuxThreads... Not found
  3. 白话Elasticsearch01- 结构化搜索之使用term query来搜索数据
  4. c++ 用类统计不及格人数_统计小课堂13
  5. windows编辑linux系统文件格式,DOS/Windows和Linux/Unix间的文件格式转换
  6. 【学习笔记】第三章——内存 III(分段存储、段页式存储、分段和分页对比)
  7. 【编程导航】国外大神总结的实用代码,30 秒学会!
  8. Windows请求连接 Vmware+Ubuntu14被拒绝 的幽怨诉说
  9. 工信部拟规定基本功能软件外的预置App均可卸载
  10. 从零开始学前端:链接跳转 --- 今天你学习了吗?(CSS:Day03)
  11. 输出200以内所有素数(python)
  12. 知识图到文本的生成(十一)
  13. Android WiFi系统【转】
  14. java导入excel数据_java使用POI批量导入excel数据的方法
  15. Elasticsearch rest-high-level-client 基本操作
  16. Eclipse 删除找回(SVN)
  17. MVCC能保证不产生幻读吗
  18. 一位期货老将的经验之谈(转)
  19. 云效平台代码管理使用总结
  20. 常用spaceclaim脚本(三)

热门文章

  1. SLF4J:Failed to load class org.slf4j.impl.StaticLoggerBinder
  2. SpringBoot整合Redis 主从复制_02
  3. (需求实战_进阶_07)SSM集成RabbitMQ 订阅模式 关键代码讲解、开发、测试
  4. 用 Excel+VBA 与 SQL Server 数据库交互
  5. python语言是编译性语音_最强编程语言 Java 和最受欢迎之 Python 的巅峰对决
  6. xbox one s驱动_续航800公里 体验6座SUV理想ONE
  7. python request url 转义_Python爬虫入门笔记
  8. 华为卡槽打不开怎么办_17500元!华为5G折叠手机刷屏,有人焦虑连夜开会…
  9. C语言 __FILE__ - C语言零基础入门教程
  10. Python chr 函数 - Python零基础入门教程