Rumah  >  Artikel  >  Java  >  Bagaimana untuk Membalikkan Hanya Nombor Ganjil dalam Integer di Java?

Bagaimana untuk Membalikkan Hanya Nombor Ganjil dalam Integer di Java?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-03 17:31:03471semak imbas

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

Java: Membalikkan Nilai Int Tanpa Menggunakan Tatasusunan

Penjelasan Kod:

Coretan kod yang anda berikan menggunakan gelung sementara untuk membalikkan nilai integer. Begini cara ia berfungsi:

  • ReversedNum Multiplication: Variable reversedNum pada mulanya ditetapkan kepada 0. Dalam setiap lelaran gelung, kami mendarabkan reversedNum dengan 10 untuk "menganjak" yang sedia ada terbalikkan nombor satu digit ke kiri.
  • Pengubahsuaian Input: Kami mengira input % 10 untuk mengekstrak digit paling kanan nombor input. Ini memberikan kita digit untuk ditambahkan pada nombor terbalik.
  • Menambah ke ReversedNum: Digit paling kanan yang diekstrak ditambah pada reversedNum untuk membentuk nombor terbalik.
  • Pembahagian Input: Akhir sekali, kami membahagikan nombor input dengan 10 untuk mengalih keluar digit paling kanan dan meneruskan proses dengan digit yang tinggal.

Menterbalikkan Nombor Ganjil Sahaja:

Untuk membalikkan hanya nombor ganjil dalam integer tertentu, anda boleh menggunakan langkah berikut:

  • Asingkan digit genap dan ganjil kepada pembolehubah berbeza.
  • Terbalikkan digit ganjil menggunakan kaedah di atas.
  • Gabungkan digit ganjil terbalik dengan digit genap asal.

Kod Contoh:

<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>

Atas ialah kandungan terperinci Bagaimana untuk Membalikkan Hanya Nombor Ganjil dalam Integer di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn