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

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

3、币包选择器


package com.item.btype;
import java.math.BigDecimal;
/**
 * 币包操作选择器
 */
public class SwitchWallet {
    /**
     * 接口层获取移动端的操作币种编号<br/>
     *
     * @param WalletEnumId
     * @param UserId
     * @return 用户当前所查询币种的信息
     */
    public static BaseWallet UserWalletById(int WalletEnumId, String UserId) {
        /**
         * 根据WalletEnumId标识进行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承接数据


package com.item.btype;
import java.math.BigDecimal;
public class WalletController {
    /**
     * 充当接口层
     * @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";
        /**
         * 获取用户某币种钱包信息,使用父类表承接
         */
        BaseWallet bw=SwitchWallet.UserWalletById(WalletEnumId,UserId);
        //已经获取到对应表的信息,其它功能在业务逻辑层完成即可。
        return new Resful("成功",bw.getAllCount());
    }
}


5、总结:


a)、币包的思路就是利用枚举的方式作为币包约束,在集合父子类关系进行简化代码操作。

 

下篇内容:【】:【】

万丈高楼平地起,程序员数学基础,从小学的【什么是数学】至【离散数学】(主要是图论)咱们一步步成长,共同加油。

相关文章
|
19天前
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
43 9
|
4天前
|
SQL 存储 Java
面向 Java 程序员的 SQLite 替代品
SQLite 是轻量级数据库,适用于小微型应用,但其对外部数据源支持较弱、无存储过程等问题影响了开发效率。esProc SPL 是一个纯 Java 开发的免费开源工具,支持标准 JDBC 接口,提供丰富的数据源访问、强大的流程控制和高效的数据处理能力,尤其适合 Java 和安卓开发。SPL 代码简洁易懂,支持热切换,可大幅提高开发效率。
|
1月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
67 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
16天前
|
SQL Java 程序员
倍增 Java 程序员的开发效率
应用计算困境:Java 作为主流开发语言,在数据处理方面存在复杂度高的问题,而 SQL 虽然简洁但受限于数据库架构。SPL(Structured Process Language)是一种纯 Java 开发的数据处理语言,结合了 Java 的架构灵活性和 SQL 的简洁性。SPL 提供简洁的语法、完善的计算能力、高效的 IDE、大数据支持、与 Java 应用无缝集成以及开放性和热切换特性,能够大幅提升开发效率和性能。
|
1月前
|
Java 关系型数据库 MySQL
如何用java的虚拟线程连接数据库
本文介绍了如何使用Java虚拟线程连接数据库,包括设置JDK版本、创建虚拟线程的方法和使用虚拟线程连接MySQL数据库的示例代码。
45 6
如何用java的虚拟线程连接数据库
|
21天前
|
IDE Java 程序员
C++ 程序员的 Java 指南
一个 C++ 程序员自己总结的 Java 学习中应该注意的点。
20 5
|
1月前
|
Java Apache Maven
Java/Spring项目的包开头为什么是com?
本文介绍了 Maven 项目的初始结构,并详细解释了 Java 包命名惯例中的域名反转规则。通过域名反转(如 `com.example`),可以确保包名的唯一性,避免命名冲突,提高代码的可读性和逻辑分层。文章还讨论了域名反转的好处,包括避免命名冲突、全球唯一性、提高代码可读性和逻辑分层。最后,作者提出了一个关于包名的问题,引发读者思考。
Java/Spring项目的包开头为什么是com?
|
2月前
|
缓存 Java 应用服务中间件
Java虚拟线程探究与性能解析
本文主要介绍了阿里云在Java-虚拟-线程任务中的新进展和技术细节。
|
2月前
|
Java API 数据处理
Java 包(package)的作用详解
在 Java 中,包(package)用于组织和管理类与接口,具有多项关键作用:1)系统化组织代码,便于理解和维护;2)提供命名空间,避免类名冲突;3)支持访问控制,如 public、protected、默认和 private,增强封装性;4)提升代码可维护性,实现模块化开发;5)简化导入机制,使代码更简洁;6)促进模块化编程,提高代码重用率;7)管理第三方库,避免命名冲突;8)支持 API 设计,便于功能调用;9)配合自动化构建工具,优化项目管理;10)促进团队协作,明确模块归属。合理运用包能显著提升代码质量和开发效率。
|
2月前
|
Java 数据安全/隐私保护
Java 包(package)的使用详解
Java中的包(`package`)用于组织类和接口,避免类名冲突并控制访问权限,提升代码的可维护性和可重用性。通过`package`关键字定义包,创建相应目录结构即可实现。包可通过`import`语句导入,支持导入具体类或整个包。Java提供多种访问权限修饰符(`public`、`protected`、`default`、`private`),以及丰富的标准库包(如`java.lang`、`java.util`等)。合理的包命名和使用对大型项目的开发至关重要。