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

Résolu
isimienne Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   -  
isimienne Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   -
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 :)
A voir également:

2 réponses

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
isimienne Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   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
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
isimienne Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   6
 
merci kX
0