java入門基礎知識:java代碼例子講解

背景

今天公司大佬給我們分享了一堂關於函數式編程的課,其中有三個小練習我覺得很有意思,很經典。讓我感覺函數式編程很強大,能把很複雜的內容用短短几行代碼,在這裡分享給大家。

案例一:程序員排名

實現程序員排名,有如下要求:

  • 只有代碼量大於100行的程序員才參加排名;
  • 根據單行代碼行缺陷率進行排名,缺陷率越小,排名越高。缺陷率=bug數/代碼行數;
  • 缺陷率相同,按照代碼行數進行排名,行數越多,排名越高;
  • 輸出程序員排名列表,排名高的在後面。

代碼如下

Java:四個有趣的函數式編程案例

案例二:完美數

如果一個自然數恰好等於他的真因子之和,則稱該數為完美數。

例如:第一個完美數是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:四個有趣的函數式編程案例

案例三:無窮的完美數序列

在案例二的基礎上,實現一個無窮的完美數steam

代碼如下

Java:四個有趣的函數式編程案例

案例四:策略模式

以策略模式為例來展開函數式編程是如何解決問題的。

策略模式包含三部分:

  • 一個代表某個算法的接口
  • 一個或多個接口的具體實現,他們代表了算法的多種實現方式
  • 一個或多個使用策略對象的客戶

代碼如下

1、算法接口

Java:四個有趣的函數式編程案例

2、具體實現

Java:四個有趣的函數式編程案例
Java:四個有趣的函數式編程案例

3、使用策略對象和函數式區別

Java:四個有趣的函數式編程案例

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/224956.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 14:41
下一篇 2024-12-09 14:41

相關推薦

發表回復

登錄後才能評論