今天公司大佬给我们分享了一堂关于函数式编程的课,其中有三个小练习我觉得很有意思,很经典。让我感觉函数式编程很强大,能把很复杂的内容用短短几行代码,在这里分享给大家。
实现程序员排名,有如下要求:
只有代码量大于100行的程序员才参加排名;根据单行代码行缺陷率进行排名,缺陷率越小,排名越高。缺陷率=bug数/代码行数;缺陷率相同,按照代码行数进行排名,行数越多,排名越高;输出程序员排名列表,排名高的在后面。代码如下
如果一个自然数恰好等于他的真因子之和,则称该数为完美数。
例如:第一个完美数是6,他有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。
第二个完美数是28,他有约数1、2、4、7、14、28,除去他本身28外,其余5个数相加,1+2+4+7+14=28。
代码如下
在案例二的基础上,实现一个无穷的完美数steam
代码如下
以策略模式为例来展开函数式编程是如何解决问题的。
策略模式包含三部分:
一个代表某个算法的接口一个或多个接口的具体实现,他们代表了算法的多种实现方式一个或多个使用策略对象的客户代码如下
1、算法接口
2、具体实现
3、使用策略对象和函数式区别
好兄弟可以点赞并关注我的公众号“javaAnswer”,全部都是干货。
版权声明:我们致力于保护作者版权,注重分享,被刊用文章【java案例(Java)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态
