Maison > Java > javaDidacticiel > Comment inverser uniquement les nombres impairs dans un entier en Java ?

Comment inverser uniquement les nombres impairs dans un entier en Java ?

Mary-Kate Olsen
Libérer: 2024-11-03 17:31:03
original
578 Les gens l'ont consulté

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

Java : inverser une valeur Int sans utiliser de tableau

Explication du code :

L'extrait de code que vous avez fourni utilise une boucle while pour inverser une valeur entière. Voici comment cela fonctionne :

  • Multiplication ReverseNum : La variable reverseNum est initialement mise à 0. A chaque itération de la boucle, on multiplie reversedNum par 10 pour "décaler" l'existant numéro un inversé vers la gauche.
  • Input Modding : Nous calculons saisissez % 10 pour extraire le chiffre le plus à droite du numéro saisi. Cela nous donne le chiffre à ajouter au nombre inversé.
  • Ajout à ReversedNum : Le chiffre extrait le plus à droite est ajouté à reverseNum pour former le nombre inversé.
  • Division de l'entrée : Enfin, nous divisons le nombre saisi par 10 pour supprimer le chiffre le plus à droite et continuons le processus avec le reste chiffres.

Inverser uniquement les nombres impairs :

Pour inverser uniquement les nombres impairs dans un entier donné, vous pouvez suivre les étapes suivantes :

  • Séparez les chiffres pairs et impairs en différentes variables.
  • Inversez les chiffres impairs en utilisant ce qui précède méthode.
  • Combinez les chiffres impairs inversés avec les chiffres pairs d'origine.

Exemple de code :

<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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal