Java で配列を使用せずに整数を反転する
あなたのクエリは、配列や文字列に頼らずに整数を反転することに関するものです。次のコード スニペットの背後にある理論的根拠を理解するのが難しい場合があります:
while (input != 0) { reversedNum = reversedNum * 10 + input % 10; input = input / 10; }
整数反転の原理
このアルゴリズムの背後にあるロジックを理解するには、次の概念を考慮してください。
擬似コード
逆転アルゴリズムは次の手順に従います。
作業コード
これは更新されたバージョンです大きな入力整数に対応し、オーバーフローの可能性を処理する提供されたコード:
<code class="java">public int reverseInt(int input) { long reversedNum = 0; long input_long = input; while (input_long != 0) { reversedNum = reversedNum * 10 + input_long % 10; input_long = input_long / 10; } if (reversedNum > Integer.MAX_VALUE || reversedNum < Integer.MIN_VALUE) { throw new IllegalArgumentException(); } return (int) reversedNum; }
奇数のみを反転
整数の奇数桁のみを反転するには、次のように実装できます。同じアルゴリズムですが、偶数桁をスキップする条件文を追加します。例:
public int reverseOddDigits(int input) { long reversedNum = 0; long input_long = input; while (input_long != 0) { if (input_long % 2 == 1) { reversedNum = reversedNum * 10 + input_long % 10; } input_long = input_long / 10; } if (reversedNum > Integer.MAX_VALUE || reversedNum < Integer.MIN_VALUE) { throw new IllegalArgumentException(); } return (int) reversedNum; }</code>
この変更されたコードを使用すると、入力整数の奇数桁を選択的に反転できるようになりました。
以上が提供された Java コードは、配列や文字列を使用せずに、どのようにして整数を反転しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。