java代码例子讲解(java入门基础知识)

背景

今天公司大佬给我们分享了一堂关于函数式编程的课,其中有三个小练习我觉得很有意思,很经典。让我感觉函数式编程很强大,能把很复杂的内容用短短几行代码,在这里分享给大家。

案例一:程序员排名

实现程序员排名,有如下要求:

  • 只有代码量大于100行的程序员才参加排名;
  • 根据单行代码行缺陷率进行排名,缺陷率越小,排名越高。缺陷率=bug数/代码行数;
  • 缺陷率相同,按照代码行数进行排名,行数越多,排名越高;
  • 输出程序员排名列表,排名高的在后面。

代码如下

java代码例子讲解(java入门基础知识)(1)

案例二:完美数

如果一个自然数恰好等于他的真因子之和,则称该数为完美数。

例如:第一个完美数是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。

代码如下

java代码例子讲解(java入门基础知识)(2)

案例三:无穷的完美数序列

在案例二的基础上,实现一个无穷的完美数steam

代码如下

java代码例子讲解(java入门基础知识)(3)

案例四:策略模式

以策略模式为例来展开函数式编程是如何解决问题的。

策略模式包含三部分:

  • 一个代表某个算法的接口
  • 一个或多个接口的具体实现,他们代表了算法的多种实现方式
  • 一个或多个使用策略对象的客户

代码如下

1、算法接口

java代码例子讲解(java入门基础知识)(4)

2、具体实现

java代码例子讲解(java入门基础知识)(5)java代码例子讲解(java入门基础知识)(6)

3、使用策略对象和函数式区别

java代码例子讲解(java入门基础知识)(7)

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页