兩張紙牌比大小——探索“對(duì)象”的樂趣
網(wǎng)絡(luò)的便捷矗愧,可以讓我們很輕易地搜到Java語言的特點(diǎn)有以下幾個(gè):面向?qū)ο笤钪ァ⑵脚_(tái)無關(guān)性、簡單性唉韭、解釋執(zhí)行夜涕、多線程、分布式属愤、健壯性钠乏、高性能、安全性春塌。面向?qū)ο髣t是它與C語言面向過程最大的區(qū)別晓避,而在學(xué)習(xí)C語言后我們常常面臨思維上的難以轉(zhuǎn)變,而Kotlin作為勢要代替Java的新起語言只壳,也是需要面向?qū)ο蟮乃季S來編寫程序俏拱。所以從研究面向?qū)ο筮@個(gè)問題上,我們可以把Kotlin和Java相比較著來思考吼句,接下來我會(huì)介紹一下分別用Java和Kotlin來實(shí)現(xiàn)“兩張牌比大小”的程序锅必。
首先我們需要分析我們要實(shí)現(xiàn)的目的,以及所需要的要素再逐步實(shí)現(xiàn)。
接著為了幫助我們理解我們可以借助ProcessOn來制作具體的結(jié)構(gòu)分析搞隐,把抽象的更加具體化驹愚。
根據(jù)上圖的結(jié)構(gòu)分析我們就可以比較清晰的開始我們的程序編寫了。我們可以用Java和Kotlin對(duì)比來寫:
這是一張牌的組成劣纲,牌面數(shù)字與牌面花色:Number&Suit
在Pokey類里面比較重要的就是比較大小的方法ComparePokey逢捺,我的思路是先考慮數(shù)字相等時(shí),我們比較花色癞季,之后考慮數(shù)字不等時(shí)劫瞳,這時(shí)我們不需要再比較花色了,直接由數(shù)字大小就可以得出結(jié)果·绷柒。這兒我們定義了一個(gè)boolean類型的變量來返回方法得到的比較結(jié)果志于,之后我們就可以在MyTest里面直接接收,if 真則輸出...else輸出...
接著是組成一副牌废睦,我們可以用兩個(gè)數(shù)組來儲(chǔ)存伺绽,numbers和suits分別儲(chǔ)存數(shù)字和花色,用兩個(gè)for循環(huán)生成一副牌嗜湃,儲(chǔ)存到pokers集合奈应,Java中用Collections.shuffle(this.pokers)將一副牌打亂。
Pokey中還需要getPoker這個(gè)方法净蚤,返回一個(gè)Poker類的對(duì)象钥组,Java中還要用pokers.remove(poker)使一副牌出來一張就少一張。
接下來我們就可以出結(jié)果啦
以上就是我們今天用Java和Kotlin分別寫“兩張牌比大小”的全部內(nèi)容今瀑,希望能給你的學(xué)習(xí)提供一點(diǎn)點(diǎn)啟發(fā)或幫助程梦,來日方長,諸君下次見i佘屿附!