首頁 >Java >java教程 >如何在不使用陣列或字串的情況下在 Java 中反轉整數?

如何在不使用陣列或字串的情況下在 Java 中反轉整數?

Linda Hamilton
Linda Hamilton原創
2024-11-03 13:23:02331瀏覽

How to Reverse an Integer in Java Without Using Arrays or Strings?

Java 不使用陣列反轉Int 值

理解演算法

不使用陣列或字串反轉整數,我們採用了一種簡單而有效的演算法。讓我們分解它的關鍵步驟:

  1. 提取最右邊的數字:我們使用模運算子(%)提取輸入整數的最右邊的數字。例如,對於 1234,1234 % 10 將得到 4。
  2. 加到反轉數字: 我們將提取的數字加到一個變數 (reversedNum),該變數將累積反轉值。對於上面的範例,reverseNum 變成 4。
  3. 將反轉數乘以 10:為了為下一個數字騰出空間,我們將 reveredNum 乘以 10。在我們的範例中,這變成4 * 10 = 40.
  4. 刪除提取的數字:我們將輸入整數除以10 (1234 / 10) 以刪除最右邊的數字。結果是 123。
  5. 重複這個過程:我們重複步驟 1-4,直到輸入整數變成 0。

程式實作

<code class="java">while (input != 0) {
    reversedNum = reversedNum * 10 + input % 10; // Add digit to reversed number
    input = input / 10; // Remove the rightmost digit
}</code>

只反轉奇數位

要只反轉奇數位,要僅反轉奇數我們可以透過僅提取奇數位並將其添加到reverseNum來修改演算法。我們可以使用% 2 == 1 條件來檢查奇數位:

<code class="java">while (input != 0) {
    if (input % 10 % 2 == 1) {
        reversedNum = reversedNum * 10 + input % 10; // Add odd digit to reversed number
    }
    input = input / 10; // Remove the rightmost digit
}</code>

透過遵循這些原則並將其合併到程式碼中,我們可以有效地反轉整數,而無需依賴數組或字串。這是一項很有價值的練習,可以展示解決問題的技巧和數值操作技術。

以上是如何在不使用陣列或字串的情況下在 Java 中反轉整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn