Heim > Java > javaLernprogramm > Hauptteil

Wie kann man in Java nur ungerade Zahlen in einer Ganzzahl umkehren?

Mary-Kate Olsen
Freigeben: 2024-11-03 17:31:03
Original
467 Leute haben es durchsucht

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

Java: Umkehren eines Int-Werts ohne Verwendung eines Arrays

Erklärung des Codes:

Der von Ihnen bereitgestellte Codeausschnitt verwendet eine While-Schleife, um einen ganzzahligen Wert umzukehren. So funktioniert es:

  • ReversedNum-Multiplikation: Die Variable reversedNum ist zunächst auf 0 gesetzt. In jeder Iteration der Schleife multiplizieren wir reversedNum mit 10, um das Vorhandene zu „verschieben“. Zahl um eine Ziffer nach links umgekehrt.
  • Eingabemodifikation: Wir berechnen Eingabe % 10, um die Ziffer ganz rechts der Eingabezahl zu extrahieren. Dadurch erhalten wir die Ziffer, die zur umgekehrten Zahl hinzugefügt werden soll.
  • Zu ReversedNum hinzufügen: Die extrahierte Ziffer ganz rechts wird zu reversedNum hinzugefügt, um die umgekehrte Zahl zu bilden.
  • Teilung der Eingabe: Abschließend teilen wir die eingegebene Zahl durch 10, um die Ziffer ganz rechts zu entfernen und den Vorgang mit den verbleibenden Ziffern fortzusetzen.

Nur ​​ungerade Zahlen umkehren:

Um nur ungerade Zahlen in einer bestimmten Ganzzahl umzukehren, können Sie die folgenden Schritte verwenden:

  • Trennen Sie die geraden und ungeraden Ziffern in verschiedene Variablen.
  • Kehren Sie die ungeraden Ziffern mit der oben beschriebenen Methode um.
  • Kombinieren Sie die umgekehrten ungeraden Ziffern mit den ursprünglichen geraden Ziffern.

Beispielcode:

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann man in Java nur ungerade Zahlen in einer Ganzzahl umkehren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage