


Imprimer la représentation binaire d'un entier en Java en utilisant la récursivité
La récursion est une technique de programmation puissante qui fonctionne en divisant un problème en sous-problèmes plus petits et plus traitables et en appliquant le même algorithme pour les résoudre. Dans le monde de la programmation Java, la récursion s'avère être un outil précieux pour imprimer des représentations binaires d'entiers. L’équivalent binaire, exprimé dans un système numérique en base 2 avec seulement deux chiffres 0 et 1, présente un défi courant dans ce domaine.
Dans cet article, nous allons mettre en lumière les complexités de l'impression de l'équivalent binaire d'un entier en Java par récursivité. Notre exploration comprendra un examen approfondi de la syntaxe, des algorithmes et de deux méthodes différentes qui peuvent être utilisées pour accomplir cette tâche. L'approche initiale implique l'utilisation de méthodes d'assistance pour concaténer des chaînes, tandis que la seconde approche nécessite l'utilisation d'un "StringBuilder" pour une concaténation de chaînes efficace. Dans cet article, nous fournissons des exemples de code complets ainsi que des résultats pour illustrer la mise en œuvre et l'utilisation de ces méthodes.
Méthode
Méthode 1 - Méthode d'assistance avec concaténation de chaînes
Méthode 2 − StringBuilder pour la concaténation de chaînes
Grammaire
public class BinaryPrinter { public static void printBinary(int n) { if (n > 0) { printBinary(n / 2); System.out.print(n % 2); } } public static void main(String[] args) { int num = 10; // Example input System.out.print("Binary equivalent of " + num + " is: "); printBinary(num); } }
Algorithme
La complexité de l'impression de l'équivalent binaire d'un entier par récursion est la suivante -
Étape 1 - Créez une méthode appelée "printBinary" qui accepte un entier "n" en entrée.
Étape 2 - Dans la méthode "printBinary", évaluez si "n" dépasse 0.
Étape 3 - Si 'n' est supérieur à 0, utilisez 'n' divisé par 2 comme entrée et appelez la méthode 'printBinary' de manière récursive.
Étape 4 - Après l'appel récursif, générez le nombre binaire à la position actuelle en imprimant le reste de 'n' divisé par 2.
Étape 5 - Continuez à répéter les étapes 3 et 4 jusqu'à ce que « n » atteigne 0, ce qui servira de cas de base pour la récursion.
Méthode 1
Dans cette approche innovante, nous utilisons une méthode d'assistance appelée 'printBinaryHelper', qui contient un paramètre supplémentaire marqué 'binary', qui est une chaîne. Lorsque nous appelons la méthode « printBinaryHelper » de manière récursive, nous concaténons intelligemment le reste de « n » divisé par 2 avec la chaîne « binaire » existante, créant ainsi une intégration transparente. Une fois que la valeur de « n » atteint 0, nous imprimons fièrement la chaîne « binaire » finale, qui symbolise élégamment la représentation binaire de l’entier d’entrée.
Vous trouverez ci-dessous le code du programme correspondant.
La traduction chinoise deExemple-1
est :Exemple-1
public class BinaryPrinter { public static void printBinary(int n) { printBinaryHelper(n, ""); } public static void printBinaryHelper(int n, String binary) { if (n > 0) { printBinaryHelper(n / 2, n % 2 + binary); } else { System.out.println("Binary equivalent: " + binary); } } public static void main(String[] args) { int num = 10; // Example input System.out.print("Binary equivalent of " + num + " is: "); printBinary(num); } }
Sortie
Binary equivalent of 10 is: Binary equivalent: 1010
Méthode 2
Dans cette approche innovante, nous utilisons 'StringBuilder' pour suivre avec précision les nombres binaires complexes tout en appelant la méthode 'printBinary' de manière récursive. « StringBuilder » s'avère être un outil de concaténation de chaînes efficace sans qu'il soit nécessaire de créer des objets chaîne supplémentaires, améliorant ainsi les performances par rapport aux méthodes traditionnelles de concaténation de chaînes. Une fois le processus récursif terminé avec succès, le « StringBuilder » est converti en une représentation sous forme de chaîne, affichant l'équivalent binaire de l'entier d'entrée, dans une démonstration fascinante de prouesses techniques.
Vous trouverez ci-dessous le code du programme correspondant.
La traduction chinoise deExemple-2
est :Exemple-2
public class BinaryPrinter { public static void printBinary(int n) { System.out.print("Binary equivalent: "); StringBuilder binary = new StringBuilder(); printBinaryHelper(n, binary); System.out.println(binary.toString()); } public static void printBinaryHelper(int n, StringBuilder binary) { if (n > 0) { printBinaryHelper(n / 2, binary); binary.append(n % 2); } } public static void main(String[] args) { int num = 10; // Example input System.out.print("Binary equivalent of " + num + " is: "); printBinary(num); } }
Sortie
Binary equivalent of 10 is: Binary equivalent: 1010
Conclusion
La récursion est une technique puissante en programmation, montrant sa puissance dans la résolution de diverses tâches, notamment l'impression de la représentation binaire d'un entier en Java. Dans ce didacticiel complet, nous explorons deux approches différentes pour obtenir une récursivité optimale en utilisant la concaténation de chaînes et le puissant « StringBuilder ». Avec une compréhension approfondie de la syntaxe, des algorithmes et une implémentation habile de ces méthodes, vous pouvez désormais facilement utiliser la puissance de la récursion pour imprimer des représentations binaires d'entiers en Java. Lorsque vous commencez ce parcours de codage, choisissez soigneusement une approche compatible avec vos besoins uniques et tenez compte de l'impact sur les performances que la concaténation de chaînes peut avoir dans votre application. Fort de ces informations, vous pouvez maîtriser l'art de la récursivité dans la programmation Java et libérer tout le potentiel de cette technique puissante dans vos efforts de codage.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Guide de la racine carrée en Java. Nous discutons ici du fonctionnement de Square Root en Java avec un exemple et son implémentation de code respectivement.

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Guide du numéro Armstrong en Java. Nous discutons ici d'une introduction au numéro d'Armstrong en Java ainsi que d'une partie du code.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est
