最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Java創(chuàng)建一個訂單類代碼實例

 更新時間:2019年12月19日 16:40:50   作者:OLIVER_QIN  
這篇文章主要介紹了基于Java創(chuàng)建一個訂單類代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了基于Java創(chuàng)建一個訂單類代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

需求描述

  • 定義一個類,描述訂單信息
  • 訂單id
  • 訂單所屬用戶(用戶對象)
  • 訂單所包含的商品(不定數(shù)量個商品對象)
  • 訂單總金額
  • 訂單應付金額:
    • 總金額500~1000,打折85折
    • 總金額1000~1500,打折80折
    • 總金額1500~2000,打折70折
    • 總金額超過2000,打折65折

在此基礎上,還要看用戶的vip等級

  • 用戶vip等級為:一般會員,則折上折:95
  • 用戶vip等級為:中級會員,則折上折:90
  • 用戶vip等級為:高級會員,則折上折:80

代碼實現(xiàn)

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、商品名稱、商品價格、商品數(shù)量
 * @author QIN
 *
 */
public class Product {
  
  // 商品ID
  public String pId;
  
  // 商品名稱
  public String pName;
  
  //商品價格
  public float price;
  
  // 商品數(shù)量
  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折
 *  如果是會員,那么可以基于以上折扣繼續(xù)折扣
 *  一般會員:9.5折
 *  中級會員:9折
 *  高級會員:8折
 * @author QIN
 *
 */
public class Order {
  // 訂單ID 
  public String ordId;
  
  // 訂單所屬用戶
  public User user;
  
  // 訂單所包含的商品(多個商品,使用ArrayList)
  public ArrayList<Product> pds;
  
  // 訂單總金額
  public float ordAllAmt;
  
  // 訂單應付金額
  public float payAmt;
  
  // 計算總金額的方法
  public void setAllAmt() {
    float sum = 0;
    for(int i=0;i<this.pds.size();i++) {
      sum +=this.pds.get(i).price * this.pds.get(i).number;
    }
    this.ordAllAmt = sum;
  }
  
  // 計算實付金額
  public void setPayAmt() {
    float tmp = this.ordAllAmt;
    
    // 根據(jù)總金額進行折扣
    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;
    }
    
    // 根據(jù)會員等級折扣
    if(user.CustLevel.equals("一般會員")) {
      tmp = tmp * 0.95f;
    }
    if(user.CustLevel.equals("中級會員")) {
      tmp = tmp * 0.9f;
    }
    if(user.CustLevel.equals("高級會員")) {
      tmp = tmp * 0.8f;
    }
    //計算結(jié)果賦值給對象上的payAmt變量
    this.payAmt = tmp;
  }

}

OrderTest.java

package cn.test.logan.day04;

import java.util.ArrayList;

public class OrderTest {
  public static void main(String[] args) {
    // 創(chuàng)建訂單對象
    Order ord = new Order();
    ord.ordId="001";
    
    // 創(chuàng)建訂單所屬用戶對象
    User u_xm = new User("C001","小明","高級會員");
    ord.user = u_xm;
    // 創(chuàng)建商品對象
    ArrayList<Product> list = new ArrayList<Product>();
    
    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);
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • springboot3生成本地文件url的實現(xiàn)示例

    springboot3生成本地文件url的實現(xiàn)示例

    本文主要介紹了springboot3生成本地文件url的實現(xiàn)示例,從而提供一種高效的文件管理方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • logback關閉某個包的日志操作

    logback關閉某個包的日志操作

    這篇文章主要介紹了logback關閉某個包的日志操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • idea中mapper如何快速跳轉(zhuǎn)到xml插件

    idea中mapper如何快速跳轉(zhuǎn)到xml插件

    這篇文章主要介紹了idea中mapper如何快速跳轉(zhuǎn)到xml插件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的區(qū)別詳解

    StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的區(qū)別詳解

    這篇文章主要介紹了StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • java中this與super關鍵字的使用方法

    java中this與super關鍵字的使用方法

    這篇文章主要介紹了java中this與super關鍵字的使用方法的相關資料,希望通過本文能幫助到大家,讓大家徹底理解應用java中this與super,需要的朋友可以參考下
    2017-09-09
  • Java Collection集合iterator方法解析

    Java Collection集合iterator方法解析

    這篇文章主要介紹了Java Collection集合iterator方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • 分享一些Java的常用工具

    分享一些Java的常用工具

    今天給大家?guī)淼氖顷P于Java的一些常用的工具,文中有非常詳細的介紹,對正在學習java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • Java中的異常處理機制try-catch詳解

    Java中的異常處理機制try-catch詳解

    這篇文章主要介紹了Java中的異常處理機制try-catch詳解,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • 關于mybatis callSettersOnNulls 配置解析

    關于mybatis callSettersOnNulls 配置解析

    這篇文章主要介紹了關于mybatis callSettersOnNulls 配置,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2018-06-06
  • Scala小程序詳解及實例代碼

    Scala小程序詳解及實例代碼

    這篇文章主要介紹了Scala 第一個Scala小程序詳解的相關資料,需要的朋友可以參考下
    2017-01-01

最新評論

五常市| 泌阳县| 鄂伦春自治旗| 蒙山县| 沈阳市| 肥东县| 花莲市| 乌兰浩特市| 兴仁县| 曲靖市| 华蓥市| 九寨沟县| 三河市| 石楼县| 上杭县| 舞钢市| 玉山县| 逊克县| 新营市| 乡城县| 定远县| 沽源县| 柞水县| 临高县| 大庆市| 新营市| 乐陵市| 大名县| 凌云县| 鄂尔多斯市| 城口县| 喀喇| 苍梧县| 综艺| 昌邑市| 灵寿县| 镇平县| 博乐市| 东乡| 大渡口区| 晋州市|