怎麼判斷一個數是不是迴文數?用java幫助你!

2021-01-08 Java小白成長記

哈嘍大家好,這裡是Java小白成長記!

昨天分享了怎麼來判斷一個數字的奇偶性,其中用到了if選擇語句和求餘運算,雖然都不是很難的知識點,但是也不可能分享一次就不管了,所以今天繼續分享一個和它倆有關的代碼:如何判斷一個五位數是不是迴文數。

首先了解一下迴文數是什麼:迴文數是指一個數字從前往後讀和從後往前讀結果是一樣的。比如:2、66、151、2332、85658等等,只要正著念和反著念是一樣的,都是迴文數。因此迴文數是在太多了,今天就只寫一個判斷五位數是不是迴文數的代碼。

思路:首先還是先把規律找好,既然要寫五位數的代碼,先用一個五位數來舉例子:12321。因為我們不可能在java中說什么正著讀和反著讀,要把這句話換成數學的語言,也就是個位等於萬位,十位等於千位,只有這兩個條件同時滿足,這個數才是迴文數。下面的問題就是如何分別得到萬位、千位、十位、個位的數字了。

首先說萬位,想到萬位的數字,直接用這個數除以一萬,得到的就是萬位了,可能有人好奇除完以後的小數呢?這裡就有一個小的知識點了,我們如果定義了一個整數,這個整數運算完還是整數,小數部分會直接捨去,而且並不會4舍5入。舉個例子:

定義一個整數i初始值為5,輸出i/2的值,我們都知道答案是2.5,看一下結果:

結果只是2,小數部分直接捨去了,而且也沒有四捨五入。因此萬位直接除以一萬就行了。

再來看個位:個位就要用到求餘數了,把這個數對10求餘數,得到的就是個位了。比如用21對10求餘數,是不是商2餘1。

最後就是十位與千位:這兩個要把上面的結合一下,十位要先把這個數除以10,讓十位變為個位,再對10求餘數。比如21怎麼得到數字2,先用21/10=2,2再對10求餘數,商0餘2。千分位是同樣的道理,先把這個數除以1000再對10求餘數。

每個數字都得到了,現在就要讓萬位與個位、十位與千位同時相等,這裡就要用到邏輯運算符了,&&或者||。

&表示邏輯與,|表示邏輯或,!表示邏輯非,&&是短路與,兩邊同時為真才為真,||是短路或,一邊為假就為假。

代碼:

第8行:首先提示用戶輸入一個五位數,第九行用變量n來存放這個數字。

第10行:為了防止用戶輸錯,用來一個if選擇語句,因為五位數最大是99999,最小是10000,所以這裡用來一個短路或「||」,如果輸入的數字大於99999或者小於10000,就會告訴用戶輸入不正確。

第13行:如果輸入的是五位數就會執行這行代碼,又是一個if選擇語句,如果萬位等於個位同時千位等於十位,括號裡整體才為true,也就表示這個數是迴文數,接著輸出信息就行了;如果兩個條件有一個不滿足,括號裡整體結果就為false,就表示這個數不是迴文數,就執行else後面的語句了。

看一下運行結果:

可以看到,我們想實現的功能全部實現了,代碼沒有任何問題。

今天的分享就結束了,有任何問題歡迎評論或私信。

相關焦點

  • 如何用java判斷一個數是不是質數?
    哈嘍大家好,這是java小白成長記!昨天分享了怎麼判斷一個數是不是迴文數,目的是為了鞏固一下if選擇語句和求餘數運算符,今天分享一下怎麼判斷一個數是不是質數,可以鞏固for循環、if選擇語句、還有沒怎麼使用過的基本數據類型Boolean。
  • 每日一個小算法之判斷迴文數20190811
    判斷是不是迴文數判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。示例 1:輸入: 121輸出: true示例 2:輸入: -121輸出: false解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。示例 3:輸入: 10輸出: false解釋: 從右向左讀, 為 01 。
  • 如何判斷C語言的迴文數?
    迴文數意指一個整數其各位數字按照正反順序讀完全相同,例如12321。判斷給出的整數是否是迴文數。若是,則輸出該整數各位數字之和,否則輸出no。原理大致為:任何一個數除以10的餘數就是該數最後一位;任何一個數除以10的商就是排除掉最後一位後的數;所以 ,一個數1234 就可以通過這種方法得到 123 和 4;接下來對 123 進行同樣的操作,就得到 12 和 3;接下來得到 1 和 2;接著得到 0 和 1;整個過程是個循環,當商不是 0 的時候就一直如此;每次拿到一個餘數,都用來構造新數,新數=新數*10+餘數;所以經過四次循環後
  • 「每日一練」巧用Python識別是不是迴文數
    Python對於數字的處理能力是很強大的,今天我們讓Python判斷我們輸入的一個數是不是迴文數,那麼什麼是迴文數呢?12321是迴文數,個位與萬位相同,十位與千位相同。往下看,就是這麼簡單!案例一個5位數,判斷它是不是迴文數。
  • 每日一道算法:迴文數
    題目:判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。示例1:輸入: 121輸出: true示例2:輸入: -121輸出: false解釋: 從左向右讀, 為 -121 。從右向左讀, 為 121- 。
  • 問題有點燒腦,趣談迴文數
    有人發現:如果給一個自然數,加上它的倒序數(就是把它的數字順序倒過來所組成的數),再對所得的和重複這個步驟,一般說來,經過有限次計算,就會得到一個迴文數。比如,84+48=132,132+231=363,363就是個迴文數。再比如,95+59=154,154+451=605,605+506=1111,1111就是個迴文數。
  • 迴文數與無釐頭的冰雹
    迴文詩與花環數賞花歸去馬如飛,去馬如飛酒力微;酒力微醒時已暮,醒時已暮賞花歸。12世紀的一個夏日,大詩人蘇東坡陪妹妹遊杭州西湖時寫下了這首迴文詩。「回文」是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字遊戲,例如,「我為人人,人人為我」。
  • LeetCode面試系列 第6天:No.9 - 迴文數
    迴文數https://leetcode-cn.com/problems/palindrome-number/題目描述判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
  • VB 輸出迴文數 - 百度經驗
    「回文」是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字遊戲,如「我為人人,人人為我」等。在數學中也有這樣一類數字有這樣的特徵,成為迴文數(palindrome number)。[1]        設n是一任意自然數。
  • 用java計算一個數的階乘原來這麼簡單!
    昨天給大家分享了java中的for循環,用for循環計算一千以內所以整數的和,不知大家學得怎麼樣了?for循環是一個很強大的知識點,我們會經常使用,所以今天再講一個與for循環有關的代碼,那就是計算一個數的階乘。階乘想必大家都知道,一個數的階乘就等於這個數乘所有小於它的正整數,公式也就是:n!=1x2x3x……x(n-1)xn。
  • 透過數學檯曆看數學(2018.3.11) - 有趣的迴文數
    — 2018.3.11 —11^2 = 121, 11^3 = 1331, 11^4 = 14641每個等式右邊結果剛好就是迴文數. 不過你可以試試 11^5 是不是呢?迴文數(Palindromic number)迴文數是指一個像14641這樣「對稱」的數,即:將這個數的數字按相反的順序重新排列後,所得到的數和原來的數一樣.這裡,「回文」是指像「媽媽愛我,我愛媽媽」這樣的,正讀反讀都相同的單詞或句子。迴文數在休閒數學領域備受關注。一個典型的問題就是,尋找那些具有某種特性,並且符合回文特徵的數。
  • 淺談Java中的幾種隨機數
    眾所周知,隨機數是任何一種程式語言最基本的特徵之一。而生成隨機數的基本方式也是相同的:產生一個0到1之間的隨機數。看似簡單,但有時我們也會忽略了一些有趣的功能。我們從書本上學到什麼?最明顯的,也是直觀的方式,在Java中生成隨機數隻要簡單的調用:java.lang.Math.random() 在所有其他語言中,生成隨機數就像是使用Math工具類,如abs, pow, floor, sqrt和其他數學函數。大多數人通過書籍、教程和課程來了解這個類。一個簡單的例子:從0.0到1.0之間可以生成一個雙精度浮點數。
  • Java 生成隨機數的 5 種方式,你知道幾種?
    Math.random() 靜態方法 產生的隨機數是 0 - 1 之間的一個 ,即 。 當第一次調用 方法時,自動創建了一個偽隨機數生成器,實際上用的是 。當接下來繼續調用 方法時,就會使用這個新的偽隨機數生成器。
  • 小學數學,一個數能同時被多個數整除怎麼判斷
    當然這裡還有一種更簡便一點的方法,如果說這個數比較大,數位比較多,不用全部相加。那麼我們可以採用棄3以及棄9法,比如說如果判斷123456是不是3的倍數?是不是9的倍數?我們通過棄3法可以發現,這個數可以被3整除。
  • 怎樣判斷一個數是質數還是合數?
    今天我就教給大家一個好方法,讓你確定一定以及肯定的說出來分數到底是不是最簡分數,二次根式到底是不是最簡二次根式。我們先從五年級上學期初識質數開始說起。一:什麼是質數?質數:一個數,如果只有1和它本身兩個因數,這樣的數叫做質數。
  • 如何判斷一個數是素數呢?
    素數這個詞,我們經常在數學題中看到,判斷一個數是否是素數,首先,我們先來了解一下素數的概念,素數一般指質數。質數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。了解概念之後,我們來看一道簡單的例題:判斷101到200之間的素數根據題目,我們通過編程的思想進行分析,判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除, 則表明此數不是素數,反之是素數。
  • 用java輸出1000以內所有的質數,每行還必須只有8 個!
    昨天分享了用java怎麼判斷一個數是不是質數,看完是不是覺得也並不是很難,今天分享怎麼輸出1000以內的所有質數,而且每行只有8個數字。  首先判斷數字的代碼就不用寫了,把昨天的拿過來就可以了:  boolean siZhiShu=true;  for (int i=2;i  if (n % i==0){  siZhiShu=false;  break;  }  }  現在是要判斷1000以內的所有數字,因此在外面就要增加一個
  • 每天一道leetcode234-回文鍊表
    正當班主任要繼續發話,只聽到角落默默想起來一個聲音:」K2」前言 2018.11.6號打卡明天的題目:https://leetcode-cn.com/problems/remove-linked-list-elements/以後明天的題目提取公布一下哈,因為有些朋友想提前做一下~題目 leetcode234-回文鍊表中文連結:https
  • 回文鍊表 | Python
    回文鍊表題目來源:力扣(LeetCode)https://leetcode-cn.com/problems/palindrome-linked-list/ 題目 請判斷一個鍊表是否為回文鍊表。: 1->2輸出: false示例 2:輸入: 1->2->2->1輸出: true進階:你能否用
  • 初中趣味數學:發現「迴文數字算式」的對稱美
    還有很多有趣的迴文詩,筆者比較喜歡的是一位晚清教育家曹鴻年寫的這首迴文詩:「寒風曉日映沙灘,日映沙灘竹報安。安報竹灘沙映日,灘沙映日曉風寒。」但今天要說的不是文學的浪漫感覺,而是數字算式的對稱之美,因為整個算式寫下來類似於上面的迴文詩,姑且稱作「迴文數字算式」吧!(名稱有點長,簡稱「回文式」不知如何?)