中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Java怎么創建一個訂單類

發布時間:2021-03-10 16:59:51 來源:億速云 閱讀:281 作者:Leah 欄目:編程語言

使用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<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;
    
    // 根據總金額進行折扣
    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<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);
  }
}

關于使用Java怎么創建一個訂單類問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

那坡县| 瑞金市| 宜宾县| 喀什市| 伊金霍洛旗| 西贡区| 珠海市| 根河市| 天祝| 伽师县| 大关县| 高安市| 临西县| 安化县| 当阳市| 视频| 文登市| 南郑县| 菏泽市| 广安市| 聂荣县| 公主岭市| 东阳市| 吴江市| 建阳市| 七台河市| 吉水县| 宣城市| 涞水县| 五家渠市| 日喀则市| 新化县| 兴国县| 察哈| 资溪县| 仲巴县| 和龙市| 灵川县| 海淀区| 梁山县| 会东县|