1. ホーム
  2. java

[解決済み] Java で配列を使わずに int 値を逆変換する

2022-03-10 21:13:36

質問

配列や文字列を使わずに整数を反転させる方法を教えてください。私はオンラインからこのコードを得たが、なぜ+入力%10と再び分割するのかよく分からない。

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

また、このサンプルコードを使って、奇数だけを反転させるにはどうしたらよいでしょうか。例えば、12345を入力すると、奇数だけを反転して531を出力します。

どのように解決するのですか?

奇数番号がよくわからないのですが。 このコードが動作する方法は、(それはJava固有のアルゴリズムではありません)です。 例 入力 =2345 whileループの初回 rev=5 input=234 2回目 rev=5*10+4=54 input=23 3回目 rev=54*10+3 input=2 4回目 rev=543*10+2 input=0

つまり、反転した数字は5432です。 もし、反転した数字の中の奇数だけが欲しいのなら。 そのコードは

while (input != 0) {    
    last_digit = input % 10;
    if (last_digit % 2 != 0) {     
        reversedNum = reversedNum * 10 + last_digit;

    }
    input = input / 10; 
}