Trouver la position d'un chiffre a dans un nombre b
Résolu
Karim
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je suis en train de pratiquer l’algorithmique et je dois Programmer la méthode chiffre(n, pos) qui renvoie le chiffre numéro pos de l’entier n. Si le
nombre n ne contient pas un tel chiffre, la méthode doit renvoyer -1.
J'ai crée ce programme
mais je n'arrive pas à trouver le bon résultat attendu. J'ai cherché mais je n'ai pas trouve l'erreur svp.
Merci de m'aider.
je suis en train de pratiquer l’algorithmique et je dois Programmer la méthode chiffre(n, pos) qui renvoie le chiffre numéro pos de l’entier n. Si le
nombre n ne contient pas un tel chiffre, la méthode doit renvoyer -1.
J'ai crée ce programme
public static int nombreDeChiffres(int nbre){ boolean continuer = true; int compteur = 0; while(continuer && nbre !=0){ nbre = nbre/10; compteur++; } return compteur; } public static int Chiffre(int a, int b){ int compteur = nombreDeChiffres(a); boolean continuer = true; int resultat = 0; while(continuer){ int c =(int) (a%Math.pow(10, compteur)); int chiffre =(int) (a/Math.pow(10, compteur)); if(chiffre == b){ resultat = compteur; } else{resultat = -1;} continuer = a/10!=0; a = c; compteur --; } return resultat; } public static void main(String[] args){ System.out.println(Chiffre(1753,7)); }
mais je n'arrive pas à trouver le bon résultat attendu. J'ai cherché mais je n'ai pas trouve l'erreur svp.
Merci de m'aider.
A voir également:
- Trouver la position d'un chiffre a dans un nombre b
- Excel trier par ordre croissant chiffre - Guide
- Trouver adresse mac - Guide
- Trouver un film sans le titre - Télécharger - Divers TV & Vidéo
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Position dans google - Guide
1 réponse
Bonjour,
C'est compliqué, très compliqué, trop compliqué...
Exemple :
C'est compliqué, très compliqué, trop compliqué...
Exemple :
public static int chiffre(int n, int pos) { for (int tmp = n, result = 1; tmp != 0; tmp /= 10, result++) { if (tmp % 10 == pos) return result; } return -1; } public static void main(String[] args) { System.out.println(chiffre(1735, 5)); // 1 System.out.println(chiffre(1735, 3)); // 2 System.out.println(chiffre(1735, 7)); // 3 System.out.println(chiffre(1735, 1)); // 4 System.out.println(chiffre(1735, 2)); // -1 }