Java >> Tutoriel Java >  >> Java

Programme Java pour imprimer l'équivalent binaire d'un entier à l'aide de la récursivité

Dans ce tutoriel, nous allons apprendre à imprimer l'équivalent binaire d'un entier en utilisant la récursivité. Une fonction récursive est une fonction qui s'appelle elle-même. Mais avant d'aller plus loin, si vous n'êtes pas familier avec le concept d'instructions if en Java, consultez l'article sur l'instruction conditionnelle en Java.

Entrée : Saisissez le numéro :7

Sortie : Le nombre binaire équivalent est 111

Programme 1 :Imprimer l'équivalent binaire d'un entier à l'aide de la récursivité

Dans ce programme, nous verrons comment imprimer l'équivalent binaire d'un entier en utilisant la récursivité.

Algorithme :

  1. Commencer
  2. Créez une instance de la classe Scanner.
  3. Déclarez une variable pour stocker le nombre.
  4. Demandez à l'utilisateur d'initialiser le numéro.
  5. Divisez le nombre par 2.
  6. Mémoriser le reste lorsque le nombre est divisé par 2.
  7. Répétez les deux étapes ci-dessus jusqu'à ce que le nombre soit supérieur à zéro.
  8. Imprimez le numéro dans l'ordre inverse.
  9. Arrêtez.

Regardons l'exemple ci-dessous pour une meilleure compréhension de l'algorithme ci-dessus.

//Java Program to convert an integer to binary
import java.util.Scanner;
public class Main
{
    public static void main(String[] args) 
    {
        int n;
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the number:");
        n = sc.nextInt();
        Main obj = new Main();
        int m = obj.binary(n);
        System.out.println("The binary equivalent is:"+m);
    }
   public static int binary(int n)
    {
        if (n == 1) 
        {
            return 1;
        }
        return binary(n / 2) * 10 + n % 2;
    }
}


Entrez le nombre :9
L'équivalent binaire est :1001

Programme 2 :Imprimer l'équivalent binaire d'un entier à l'aide de la récursivité

Dans ce programme, nous verrons comment imprimer l'équivalent binaire d'un entier en utilisant la récursivité.

Algorithme :

  1. Commencer
  2. Créez une instance de la classe Scanner.
  3. Déclarez une variable pour stocker le nombre.
  4. Demandez à l'utilisateur d'initialiser le numéro.
  5. Déclarez une méthode statique qui prend un argument entier comme paramètre et renvoie une chaîne.
  6. Utilisez la classe StringBuilder pour ajouter les résultats les uns aux autres et convertir l'objet générateur de sortie en chaîne à l'aide de la méthode toString().
  7. Divisez le nombre particulier par 2 et stockez le reste dans une variable.
  8. Stocker la valeur entière du nombre après division par 2.
  9. Appelez à nouveau la fonction et ajoutez son résultat avec le reste
  10. Une fois la condition de base (nombre ==0) remplie, il renvoie l'objet StringBuilder à partir de la méthode.
  11. Imprimez le résultat.
  12. Arrêtez.

Regardons l'exemple ci-dessous pour une meilleure compréhension de l'algorithme ci-dessus.

//Java Program to convert an integer to binary
import java.util.Scanner;
public class Main
{
    public static void main(String[] args) 
    {
        int n;
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the number:");
        n = sc.nextInt();
        Main obj = new Main();
        String m = obj.BRec(n);
        System.out.println("The binary equivalent is:"+m);
    }
    public static String BRec(int num)
    {
    	StringBuilder sB = new StringBuilder();  
        if(num > 0)
        {
            //get the remainder of the number when divided with 2
            int rem = num % 2;
            //get the whole number after the division
            num /=  2;
            sB.append(BRec(num)).append("").append(String.valueOf(rem));
            return sB.toString();
        }
        else 
        {
           return sB.toString();
        }
     }
   
}


Entrez le nombre :9
L'équivalent binaire est :1001


Balise Java