Méthode qui renvoie le chiffre d'un tel pos !

Résolu
isimienne Messages postés 124 Statut Membre -  
isimienne Messages postés 124 Statut Membre -
Bonjour,

SVP aidez moi à résoudre cet petit exercice en POO :)

Programmer la méthode int chiffre( int n,int pos)
qui renvoie le chiffre numéro pos de l'entier n.
Si le nombre ne contient pas un tel chiffre , la mthode doit renvoyer -1.
exemple: chiffre (7142,3) est 7

la solution est sans intégration de la notion tableau !!!
MERCI D'AVANCE POUR VOTRE AIDE je compte à vous :)

2 réponses

  1. swed
     
    Bonjour,

    diviseur = 10 puissance pos;
    si ( diviseur > n OU diviseur < 1 )
    resultat = -1
    sinon
    resultat = partie entière ( n/diviseur ) modulo 10;

    Par exemple pour chiffre(7142,3) :
    diviseur = 10 puissance 3 = 1000
    resultat = partie entière ( 7142 / 1000 ) modulo 10 = 7 modulo 10 = 7

    Par exemple pour chiffre(7142,2) :
    diviseur = 10 puissance 2 = 100
    resultat = partie entière ( 7142 / 100 ) modulo 10 = 71 modulo 10 = 1

    Par exemple pour chiffre(7142,1) :
    diviseur = 10 puissance 1 = 10
    resultat = partie entière ( 7142 / 10 ) modulo 10 = 714 modulo 10 = 4

    Par exemple pour chiffre(7142,0) :
    diviseur = 10 puissance 0 = 1
    resultat = partie entière ( 7142 / 1 ) modulo 10 = 7142 modulo 10 = 2

    Cordialement, M.
    0
    1. isimienne Messages postés 124 Statut Membre 6
       
      merci bien swed c trés claire votre réponse :
      voila j'ai trouvé une autre solution

      public static int chiffre(int n,int pos) {
      for(int i=0;i<pos;i++) {
      n/=10;
      }
      if (n>0) {
      return n%10;
      } else
      return -1;
      }
      }
      0
  2. KX Messages postés 19031 Statut Modérateur 3 020
     
    Sinon par récursivité avec des divisions successives :

    chiffre(7142,3) = chiffre(714,2) = chiffre(71,1) = chiffre(7,0) = 7
    La confiance n'exclut pas le contrôle
    0
    1. isimienne Messages postés 124 Statut Membre 6
       
      merci kX
      0