substr判断最后一个是不是逗号_用java帮助你判断一个数是不是回文数
哈嘍大家好,這里是Java小白成長記!
昨天分享了怎么來判斷一個數(shù)字的奇偶性,其中用到了if選擇語句和求余運算,雖然都不是很難的知識點,但是也不可能分享一次就不管了,所以今天繼續(xù)分享一個和它倆有關(guān)的的代碼:如何判斷一個五位數(shù)是不是回文數(shù)。
首先了解一下回文數(shù)是什么:回文數(shù)是指一個數(shù)字從前往后讀和從后往前讀結(jié)果是一樣的。比如:2、66、151、2332、85658等等,只要正著念和反著念是一樣的,都是回文數(shù)。因此回文數(shù)是在太多了,今天就只寫一個判斷五位數(shù)是不是回文數(shù)的代碼。
思路:首先還是先把規(guī)律找好,既然要寫五位數(shù)的代碼,先用一個五位數(shù)來舉例子:12321。因為我們不可能在java中說什么正著讀和反著讀,要把這句話換成數(shù)學(xué)的語言,也就是個位等于萬位,十位等于千位,只有這兩個條件同時滿足,這個數(shù)才是回文數(shù)。下面的問題就是如何分別得到萬位、千位、十位、個位的數(shù)字了。
首先說萬位,想到萬位的數(shù)字,直接用這個數(shù)除以一萬,得到的就是萬位了,可能有人好奇除完以后的小數(shù)呢?這里就有一個小的知識點了,我們?nèi)绻x了一個整數(shù),這個整數(shù)運算完還是整數(shù),小數(shù)部分會直接舍去,而且并不會4舍5入。舉個例子:
定義一個整數(shù)i初始值為5,輸出i/2的值,我們都知道答案是2.5,看一下結(jié)果:
結(jié)果只是2,小數(shù)部分直接舍去了,而且也沒有四舍五入。因此萬位直接除以一萬就行了。
再來看個位:個位就要用到求余數(shù)了,把這個數(shù)對10求余數(shù),得到的就是個位了。比如用21對10求余數(shù),是不是商2余1。
最后就是十位與千位:這兩個要把上面的結(jié)合一下,十位要先把這個數(shù)除以10,讓十位變?yōu)閭€位,再對10求余數(shù)。比如21怎么得到數(shù)字2,先用21/10=2,2再對10求余數(shù),商0余2。千分位是同樣的道理,先把這個數(shù)除以1000再對10求余數(shù)。
每個數(shù)字都得到了,現(xiàn)在就要讓萬位與個位、十位與千位同時相等,這里就要用到邏輯運算符了,&&或者||。
&表示邏輯與,|表示邏輯或,!表示邏輯非,&&是短路與,兩邊同時為真才為真,||是短路或,一邊為假就為假。
代碼:
第8行:首先提示用戶輸入一個五位數(shù),第九行用變量n來存放這個數(shù)字。
第10行:為了防止用戶輸錯,用來一個if選擇語句,因為五位數(shù)最大是99999,最小是10000,所以這里用來一個短路或“||”,如果輸入的數(shù)字大于99999或者小于10000,就會告訴用戶輸入不正確。
第13行:如果輸入的是五位數(shù)就會執(zhí)行這行代碼,又是一個if選擇語句,如果萬位等于個位同時千位等于十位,括號里整體才為true,也就表示這個數(shù)是回文數(shù),接著輸出信息就行了;如果兩個條件有一個不滿足,括號里整體結(jié)果就為false,就表示這個數(shù)不是回文數(shù),就執(zhí)行else后面的語句了。
看一下運行結(jié)果:
可以看到,我們想實現(xiàn)的功能全部實現(xiàn)了,代碼沒有任何問題。
今天的分享就結(jié)束了,有任何問題歡迎評論或私信。
總結(jié)
以上是生活随笔為你收集整理的substr判断最后一个是不是逗号_用java帮助你判断一个数是不是回文数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双眼皮修复还需要花钱吗
- 下一篇: 镶牙要打钉吗