fandezizou
Messages postés16Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention28 septembre 2006
-
21 sept. 2006 à 23:27
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 2013
-
23 sept. 2006 à 20:52
Bonjour,
J'ai un petit problème en Java je ne sait pas comment séparer les nombre numérique en java.
par exemple 201 qui fait 2 puis 0 puis 1.
exemple
int code=201
// je veux mon total soit (2*1) + (0*2) + (1*3)
ce n'est pas possible?
J'ai besoin de votre aide. Merci beaucoup. ^^
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 22 sept. 2006 à 18:06
Salut :
D'après ce que je vois c'est un problème d'algorithmiques.
// notre entier à décomposer
int n = 201;
System.out.println ("Entier = " + n);
// inverser cet entier exemple : 201 -> 102
int inverse = 0; // pour calculer l'inverse
int tmp = n; // pour sauvegarder n
while (tmp > 0) {
inverse += (tmp % 10) * 10;
tmp /= 10;
}
System.out.println ("Inverse = " + inverse);
// faire ce que tu veux exemple (201) -> 1*3 + 0*2 + 2*1
tmp = inverse;
int index = 1; // compteur
int s = 0; // pour cumuler la somme
while (tmp > 0) {
s += (tmp % 10) * 10 * index;
tmp /= 10;
++index;
}
System.out.println ("Somme = " + s);
Ar0z
Messages postés44Date d'inscriptionlundi 23 janvier 2006StatutMembreDernière intervention12 août 2007 22 sept. 2006 à 09:31
Je suppose que tu veux travailler avec des int ?
Alors, ce n'est surement pas la meilleure solution mais tu peux te
servir des char[], la methode parseInt de la classe Integer te
permettant de recuperer un int à partir d'un String.
Voici une méthode qui prends en parametre un int par ex (267) et qui renverra (2*1 + 6*2 + 7*3) :
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 23 sept. 2006 à 20:52
Salut :
(J'ai commis une erreur de frappe) Une petite rectification ce code est testé et il donne le resultat voulu :
Exemple si tu donne l'entier 1530 il donne le resultat de : 1*1 + 5*2 + 3*3 + 0*4
// notre entier à décomposer
int n = 201;
System.out.println ("Entier = " + n);
// inverser cet entier exemple : 201 -> 102
int inverse = 0; // pour calculer l'inverse
int tmp = n; // pour sauvegarder n
while (tmp > 0) {
inverse *= 10;
inverse += (tmp % 10);
tmp /= 10;
}
System.out.println ("Inverse = " + inverse);
// faire ce que tu veux exemple (201) -> 1*3 + 0*2 + 2*1
tmp = inverse;
int index = 1; // compteur
int s = 0; // pour cumuler la somme
while (tmp > 0) {
s += (tmp % 10) * index;
tmp /= 10;
++index;
}
System.out.println ("Somme = " + s);