package ord;
import java.util.ArrayList; public class order {
public String orderid;
public user user;
public ArrayList<product> pdls;
public float ordernum;
public float ordmon;
public double acfee;
public double tolmon;
public void getdeunt() {
float sum=0;
for(int i=0;i<this.pdls.size();i++) {
sum +=this.pdls.get(i).price *this.pdls.get(i).num; }
this.ordmon = sum; }
public void setmon() {
double tmp=0;
if(this.ordmon>=1000 & this.ordmon<2000) {
tmp=0.98;
}
else if(this.ordmon>=2000 & this.ordmon <3000) {
tmp=0.95; }
else if(this.ordmon>=3000) {
tmp=0.90;
}
//user level
double acfee=0;
if(this.user.level.equals("gold")) {
acfee=0.98*tmp;
}
else if(this.user.level.equals("dia")) {
acfee = 0.96*tmp; }
else if(this.user.level.equals("super")) {
acfee=0.92*tmp; }
this.acfee=acfee; }
public void acmon() {
double tmon;
tmon =this.acfee * this.ordmon;
this.tolmon=tmon; }
}
package ord;

public class product {
String orderid;
String pron;
double price;
Integer num; public product(String orderid,String name,double price,int num) {
this.orderid =orderid;
this.pron = name;
this.price =price;
this.num =num;
}
}
package ord;

public class user {
String usid;
String usna;
String level;
public user(String usid,String usna,String level) {
this.usid =usid;
this.usna=usna;
this.level=level; } }
package ord;
import java.util.ArrayList; public class ordertt { public static void main(String []args) {
order o1 =new order();
user user=new user("a","li","gold");
o1.user =user; ArrayList<product> pdfs = new ArrayList<product>();
product p1 = new product("1","ab",11.1,200);
product p2 = new product("2","abb",10,200);
pdfs.add(p1);
pdfs.add(p2);
o1.pdls = pdfs;
o1.getdeunt();
o1.setmon();
o1.acmon();
System.out.print(o1.tolmon); } }

java订单金额分级计算的更多相关文章

  1. 货币金额的计算 - Java中的BigDecimal

    在<Effective Java>这本书中也提到这个原则,float和double只能用来做科学计算或者是工程计算,在商业计算中我们要用 java.math.BigDecimal.,而且使 ...

  2. Java工具类之——BigDecimal运算封装(包含金额的计算方式)

    日常对于金额计算,应该都是用的BigDecimal,  可是苦于没有好的工具类方法,现在贡献一个我正在用的对于数字计算的工具类,项目中就是用的这个,简单粗暴好用,话不多说,代码奉上(该工具类需要引入g ...

  3. Java订单功能模块设计与实现

    在商城项目中,之前我们介绍了购物车功能模块的实现,商品加入到购物车之后,就是到购物车结算,然后显示购物车的商品列表,点击去结算,然后到了未提交前的订单列表, 点击提交订单后,生成此订单,返回订单的订单 ...

  4. [ JAVA编程 ] double类型计算精度丢失问题及解决方法

    前言 如果你在测试金融相关产品,请务必覆盖交易金额为小数的场景.特别是使用Java语言的初级开发. Java基本实例 先来看Java中double类型数值加.减.乘.除计算式实例: public cl ...

  5. TVA金额的计算,以及应该放在那里

    标记TTC价格的货物,有以下内容:TTC原价(自动提取),折扣(输入),折扣之后的减价(代金券,或者再次减价),最终TTC单价(自动计算).税率(输入),HT单价(自动计算),单价的税费(也可能不需要 ...

  6. Java集合框架练习-计算表达式的值

    最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...

  7. 金额的计算BigDecimal类

    金额的计算BigDecimal类 double d = 9.84; double d2 = 1.22; //注意需要使用BigDecimal(String val)构造方法 BigDecimal bi ...

  8. 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行

    [TOC] 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行 程序源码 import java.io.IOException; import java.util. ...

  9. Java订单号生成,唯一订单号(日均千万级别不重复)

    Java订单号生成,唯一订单号 相信大家都可以搜索到很多的订单的生成方式,不懂的直接百度.. 1.订单号需要具备以下几个特点. 1.1 全站唯一性. 1.2 最好可读性. 1.3 随机性,不能重复,同 ...

随机推荐

  1. 基于Twitter的Snowflake算法实现分布式高效有序ID生产黑科技(无懈可击)

    参考美团文档:https://tech.meituan.com/2017/04/21/mt-leaf.html Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万 ...

  2. WebApiClient的JsonPatch局部更新

    1. 文章目的 随着WebApiClient的不断完善,越来越多开发者选择WebApiClient替换原生的HttpClient,本文将介绍使用WebApiClient来完成JsonPatch提交的新 ...

  3. 使用EOLINKER做接口测试最佳路径(上)

    本文内容: 测试脚本管理:讲述如何在 EOLINKER 上设计测试项目目录结构. 编写测试脚本:讲述如何在 EOLINKER 上编写接口测试脚本. 测试脚本执行及报告:讲述如何在 EOLINKER 上 ...

  4. [Nodejs] node写个hello,world

    http 模块 与 hello world hello world let http = require("http"); http .createServer((request, ...

  5. python3-列表字典简单练习题

    .求全部元素的和[,,,,,,,] >>> a=[,,,,,,,] >>> result= >>> for i in a: ... result+ ...

  6. 配置多版本jdk

    配置办法https://blog.csdn.net/qq342643414/article/details/78364601 可能会遇到的问题https://www.cnblogs.com/chuij ...

  7. Java学习点滴——Class和反射

    基于<Java编程思想>第四版 前言 我们要操作一个类实例对象时,一般都要先知道这个类有哪些方法或者成员变量.反射就是在我们不知道这个类有哪些方法或成员变量时,使用特定方式得到类的这些信息 ...

  8. wordpress 角色权限

    自带多媒体库上传权限:edit_other_pages

  9. Odoo 10的Linux安装

    CentOS7安装Odoo10流程如下一.更新系统#yum clean all#yum update 二.安装 PostgreSQL 1.安装数据库#yum install postgresql po ...

  10. Android为TV端助力:RecyclerView更新数据时焦点丢失

    1.adapter的setHasStableIds设置成true 2.重写adapter的getItemId方法 @Override public long getItemId(int positio ...