java程序代碼例子 java編程例子



文章插圖
java程序代碼例子 java編程例子

文章插圖
【java程序代碼例子 java編程例子】背景
今天公司大佬給我們分享了一堂關于函數式編程的課,其中有三個小練習我覺得很有意思,很經典 。讓我感覺函數式編程很強大,能把很復雜的內容用短短幾行代碼,在這里分享給大家 。
案例一:程序員排名
實現程序員排名,有如下要求:
只有代碼量大于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、使用策略對象和函數式區別