文件復制程序:
將一個文件復制一份出來,實現方法很簡單,使用FileInputStream讀取文件內容,然后使用FileOutputStream寫入另一個文件,利用read方法的返回值作為while循環的條件,進行一邊讀一邊寫。
?
代碼示例:
統計連續的重復字節:
將連續5個以上重復的字節統計一下,并且將重復的數量和所有重復字節的總數量打印出來。
實現這個程序,主要思路是單個字節的讀取,每讀取一個字節就記錄下來,然后和下一次讀取的字節進行對比比否相等,相等代表重復。就再用一個count變量記錄重復的次數,如果不相等就代表不重復就需要把這個變量歸零重新記錄。還需要一個total變量來記錄每次重復的次數總和,只需要加個判斷條件,只要count大于等于5就令total+=count即可。
?
代碼示例:
運行結果:
裝飾設計模式:
裝飾設計模式,顧名思義就是給某樣東西、某個對象進行裝飾。裝飾設計模式可以利用繼承或實現接口的方式,給一個基礎的對象增加新的功能,就像一個毛坯房,可以通過裝修之后變成漂亮的房子,有點類似于能夠進行功能上的疊加。
下面以蛋糕為主題進行一個裝飾設計模式的過程:
代碼示例:
先使用一個接口定制好方法:
然后寫一個最基礎的類,在蛋糕里最基礎的類就是普通蛋糕了,在這個類里需要實現接口。
代碼示例:
接著就是其他可以以蛋糕這個類為基礎擴展的類,例如草莓蛋糕:
代碼示例:
愿意的話可以寫任意個這樣的類,但是基本規則都是一樣:
? 代碼示例:
體系寫完后,可以使用測試類測試效果:
? 代碼示例:
運行結果:
再增加(裝飾)一個對象:
運行結果:
可以增加任意個對象:
運行結果:
也可以只使用基礎類對象:
運行結果:
寫信的例題:
? 也是同樣先定義一個接口或者抽象類:
然后再定義一個基礎實現類:
有些人喜歡在信件上噴點香水,所以可以寫一個香水的擴展類:
如果寫的是情書,或許還需要一個吻印,那么就可以寫一個吻印的擴展類:
既然有吻印,自然得再加上幾個愛心桃,來給對方表達愛慕,那么就再寫一個愛心的擴展類:
完成后就可以在測試類里進行測試查看效果:
運行結果:
本文轉自 ZeroOne01 51CTO博客,原文鏈接:http://blog.51cto.com/zero01/1976621,如需轉載請自行聯系原作者