日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

程序员数学基础【六、枚举 区块链,虚拟币种、币包约束,内环版本】(Java版本)

發(fā)布時(shí)間:2024/8/26 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 程序员数学基础【六、枚举 区块链,虚拟币种、币包约束,内环版本】(Java版本) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本案例為幣包的實(shí)際技術(shù)應(yīng)用:

做區(qū)塊鏈幣包的可以看看,當(dāng)年老師付我也是想了很久的。

虛擬幣幣包的工具有很多,那么他們使用的是什么技術(shù)實(shí)現(xiàn)的呢。咱們利用就將數(shù)學(xué)【枚舉】的虛擬幣內(nèi)環(huán)實(shí)際應(yīng)用給大家講一講。

測(cè)試使用語(yǔ)言:【Java】

?

1、創(chuàng)建幣種類(lèi)(我就寫(xiě)了4個(gè),方便測(cè)試)

基礎(chǔ)結(jié)構(gòu)【BaseWallet】

package com.item.btype;import java.math.BigDecimal; import java.util.Date;public class BaseWallet {private String Id;private String UserId;private Date LastDate;private BigDecimal AllCount;private BigDecimal DisCount;/*** 錢(qián)包ID*/public String getId() {return Id;}public void setId(String id) {Id = id;}/*** 用戶編號(hào)*/public String getUserId() {return UserId;}public void setUserId(String userId) {UserId = userId;}/*** 最后修改時(shí)間*/public Date getLastDate() {return LastDate;}public void setLastDate(Date lastDate) {LastDate = lastDate;}/*** 錢(qián)包總數(shù)量*/public BigDecimal getAllCount() {return AllCount;}public void setAllCount(BigDecimal allCount) {AllCount = allCount;}/*** 凍結(jié)數(shù)量*/public BigDecimal getDisCount() {return DisCount;}public void setDisCount(BigDecimal disCount) {DisCount = disCount;} }

交易幣【BG】

package com.item.btype;public class BGWallet extends BaseWallet { }

比特幣【BTC】

package com.item.btype;public class BTCWallet extends BaseWallet { }

以太坊【ETH】

package com.item.btype;public class ETHWallet extends BaseWallet { }

嫩模幣【OMG】

package com.item.btype;public class OMGWallet extends BaseWallet { }

2、創(chuàng)建幣種枚舉

package com.item.btype;/*** @author TeacherFu* @date 2021年2月28日12:07:09*/ public enum WalletEnum {BG(1, "BG", "市場(chǎng)幣"),BTC(1000, "BTC", "比特幣"),ETC(1001, "ETC", "以太坊"),OMG(1002, "OMG", "嫩模幣"),;/*** 根據(jù)名字換編號(hào)** @param Name* @return*/public static int GetId(String Name) {WalletEnum[] values = WalletEnum.values();for (WalletEnum c : WalletEnum.values()) {if (c.getName().equals(Name)) {return c.getId();}}return -1;}/*** 根據(jù)ID換名字* @param Id* @return*/public static String GetName(int Id) {for (WalletEnum c : WalletEnum.values()) {if (c.getId() == Id) {return c.getName();}}return null;}/*** 編號(hào)*/private int Id;/*** 幣種英文名*/private String Name;/*** 幣種中文名*/private String Info;/*** 構(gòu)造方法** @param Id* @param Name* @param Info*/WalletEnum(int Id, String Name, String Info) {}public int getId() {return Id;}public void setId(int id) {Id = id;}public String getName() {return Name;}public void setName(String name) {Name = name;}public String getInfo() {return Info;}public void setInfo(String info) {Info = info;} }

3、幣包選擇器

package com.item.btype;import java.math.BigDecimal;/*** 幣包操作選擇器*/ public class SwitchWallet {/*** 接口層獲取移動(dòng)端的操作幣種編號(hào)<br/>** @param WalletEnumId* @param UserId* @return 用戶當(dāng)前所查詢幣種的信息*/public static BaseWallet UserWalletById(int WalletEnumId, String UserId) {/*** 根據(jù)WalletEnumId標(biāo)識(shí)進(jìn)行case選擇*/switch (WalletEnumId) {case 1:return new BGWallet();case 1001:return new BTCWallet();case 1002:return new ETHWallet();case 1003:return new OMGWallet();default:return null;}} }

4、Controller承接數(shù)據(jù)

package com.item.btype;import java.math.BigDecimal;public class WalletController {/*** 充當(dāng)接口層* @return*/public Resful AddChange(int WalletEnumId, String Token, BigDecimal ChangeCount){if(WalletEnum.GetName(WalletEnumId)==null){return new Resful("幣種不符");}/*** Token兌換UserId* String UserId=redis.TokenToUserId(Token);*/String UserId="asd2asdzpasodospasodpaos";/*** 獲取用戶某幣種錢(qián)包信息,使用父類(lèi)表承接*/BaseWallet bw=SwitchWallet.UserWalletById(WalletEnumId,UserId);//已經(jīng)獲取到對(duì)應(yīng)表的信息,其它功能在業(yè)務(wù)邏輯層完成即可。return new Resful("成功",bw.getAllCount());} }

5、總結(jié):

a)、幣包的思路就是利用枚舉的方式作為幣包約束,在集合父子類(lèi)關(guān)系進(jìn)行簡(jiǎn)化代碼操作。

?

下篇內(nèi)容:【】:【】

萬(wàn)丈高樓平地起,程序員數(shù)學(xué)基礎(chǔ),從小學(xué)的【什么是數(shù)學(xué)】至【離散數(shù)學(xué)】(主要是圖論)咱們一步步成長(zhǎng),共同加油。

總結(jié)

以上是生活随笔為你收集整理的程序员数学基础【六、枚举 区块链,虚拟币种、币包约束,内环版本】(Java版本)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。