首頁 > Java > java教程 > 主體

如何在 Java 中僅反轉整數中的奇數?

Mary-Kate Olsen
發布: 2024-11-03 17:31:03
原創
466 人瀏覽過

How to Reverse Only Odd Numbers in an Integer in Java?

Java:不使用數組反轉Int 值

代碼說明:

您提供的程式碼片段使用while 迴圈來反轉整數值。它的工作原理如下:

  • ReversedNum 乘法: 變數reversedNum 最初設定為0。在循環的每次迭代中,我們將reversedNum 乘以10 以「移動」現有的值將數字向左反轉一位。
  • 輸入修改: 我們計算輸入 % 10 以提取輸入數字的最右邊的數字。這為我們提供了要加到反轉數字的數字。
  • 加到 ReversedNum: 提取的最右邊的數字將添加到反轉數字以形成反轉數字。
  • 輸入除法:最後,我們將輸入數字除以 10 以刪除最右邊的數字,並繼續處理剩餘的數字。

只反轉奇數:

要只反轉給定整數中的奇數,可以使用以下步驟:

  • 將偶數和奇數分開到不同的變數。
  • 使用上述方法將奇數位反轉。
  • 將反轉後的奇數位與原來的偶數位組合起來。

範例程式碼:

<code class="java">public static int reverseOdd(int input) {
    int even = 0;
    int odd = 0;

    // Separate even and odd digits
    while (input > 0) {
        int digit = input % 10;
        if (digit % 2 == 0) {
            even = even * 10 + digit;
        } else {
            odd = odd * 10 + digit;
        }
        input /= 10;
    }

    // Reverse odd digits
    odd = reverseInt(odd);

    // Combine reversed odd and original even digits
    return even + odd;
}

public static int reverseInt(int input) {
    long reversedNum = 0;
    long input_long = input;

    while (input_long != 0) {
        reversedNum = reversedNum * 10 + input_long % 10;
        input_long /= 10;
    }

    if (reversedNum > Integer.MAX_VALUE || reversedNum < Integer.MIN_VALUE) {
        throw new IllegalArgumentException();
    }
    return (int) reversedNum;
}</code>
登入後複製

以上是如何在 Java 中僅反轉整數中的奇數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板