Incrementer un String
adriano
-
adriano -
adriano -
de la difficulte pour un programme java
je doit incrementer de 5, une chaine de caractere
mais incrementer de 5 simplement les lettres qui sont
en position impair.
exemple;1234f&9hBF22
devient;1234f&9mBK22
merci de votre aide
je doit incrementer de 5, une chaine de caractere
mais incrementer de 5 simplement les lettres qui sont
en position impair.
exemple;1234f&9hBF22
devient;1234f&9mBK22
merci de votre aide
6 réponses
-
Salut,
Ma réponse c'est d'abord quelques questions:
Tu dis "mais incrementer de 5 simplement les lettres qui sont
en position impair." ! Ne serait-ce pas "en position paire" ? car dans ton exemple, ce sont le h (en position 8 donc paire qui devient m, et le F (en 10) qui devient K.
Ensuite, il faut qu'on sache que deviennent les lettres v, w, x, y et z?
Peut-être a, b, c, d, et e.
À préciser...
Cordialement,
Dan -
desoler, si j ai mal expliquer,
en fait cela est correcte, puisqu il faut compter a partir de 0, donc le h est en position 7 ce qui est impair, donc il faut l incrementer de 5,
donc, l utilisateur entre une chaine de caractere, si j ai n importe quel lettre quel soit majuscul ou minuscule dans une position impair il faut l incrementer de 5,
meme les lettre comme a,b,c,d,e, et v,w,x,y,z.
exemple, 1bezreA
reponse, 1geerF
j ai comme meme une petite idee, comment le programmer, je vais comme meme essayer et je le mettrais.
je vais la faire avec la boocle for -
Salut,
oui une boucle for me parait bien (tu parcours chaque caractère de ta chaine comme ca) :
for(int i =0 ; i != chaine.length() ; i++){ if ( i%2 != 0){ // si i impair // si ton char "chaine.chatAt(i)" est une lettre : code ASCII ;-) { // code ASCII = code ASCII + 5; // remplacement du caractère dans la chaine; } } }
Voilà, je pense que comme ca tu devrais t'en sortir ;)
Aplouch
Toopa -
merci beaucoup pour votre aide
trés apprécié, sincèrement.
j ai pu reussir le programme, que je devais faire,
j ai une simple question, par curiosité, j aimerai savoir, pourquoi dans la boucle for
for(int i =0 ; i != chaine.length() ; i++){
instr.
¸}
j aimerai savoir pour le i != chaine.length() , qu est ce que sa veux dire parce que sa marche bien, moi je l avais fait de cette facon
for(int i =0 ; i < chaine.length() ; i++){ ....
et sa la egalement bien marcher, c est simplement par curiosite, parce que moi et les boucles for, sa fait deux ;).
pk different
merci beaucoup -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Salut,
alors :
i < chaine.length()
signifie (puisque cette condition est située au milieu dans la boucle for) que ta boucle va "reboucler" tant que i est inférieur à la valeur entière qui correspond à la longueur de ta chaine de caractères
i != chaine.length()
signifie que ta boucle va "reboucler" tant que i est différent de la valeur entière qui correspond à la longueur de ta chaine de caractères (!= correspond en effet à "différent")
Ce n'est donc pas la même condition d'arrêt, mais dans ce cas particulier elle arrête la boucle au même moment, quand i = chaine.length()
Voilà, en espérant t'avoir éclairé.
Toopa -
Pour gagner du temps, je ne ferais passer ma boucle for que dans les positions impair!
Ca réduirait le traitement est permettrai d'éviter le test avec le modulo:
for(int i =1 ; i < chaine.length() ; i=i+2){
// code ASCII = code ASCII + 5;
// remplacement du caractère dans la chaine;
}
La culture c'est comme la confiture, moins en a plus on l'étale!-
-
-
hey les gars, je vous remercie infiniment pour votre aide
c est tres apprécié,
j ai reussi le programme en faisant la boucle for, et a l interieur de cette boucle j ai mis la
condition de if(i%2 !=0), et ca marcher,
for(int i =0 ; i < chaine.length() ; i++){ ....
lettre=chaine.charAt(i);
if (i % 2 !=0) {.......
je vous remercie du fond du coeur, ;)
-