Quelqu'un m'aidez svp (java script)

Fermé
nisfor Messages postés 81 Date d'inscription samedi 16 août 2008 Statut Membre Dernière intervention 2 février 2015 - 3 août 2009 à 19:09
nisfor Messages postés 81 Date d'inscription samedi 16 août 2008 Statut Membre Dernière intervention 2 février 2015 - 16 sept. 2009 à 01:02
Bonjour,
voila mon programme ,il ne marche po je ne sais pas pourquoi ??!! ,je veux quand je donne "ab" il me sort "12" :
<html>

<head>
<title>Nouvelle page 1</title>
</head>
<body>
<script language="javascript">

var ch=prompt("donner un mot ou une phrase pour la converté");
document.write("le resultat est :")
for(i=1;i<=length(ch);i++)
{ x1=ch.substring(i,i+1);
if (x1='a') x2='1';
if (x1='b') x2='2';

document.write(x2);
}
</script>
</body>
</html>
A voir également:

12 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
3 août 2009 à 20:30
if (x1='a') x2='1';
if (x1='b') x2='2';


en javascript comme en php l'opérateur de comparaison c'est == et pas =

if (x1=='a') x2='1';
if (x1=='b') x2='2'; 
0
nisfor Messages postés 81 Date d'inscription samedi 16 août 2008 Statut Membre Dernière intervention 2 février 2015 1
3 août 2009 à 22:38
ca marche pas aussi avec == il rest eurreur a la ligne 12 "x1=ch.substring(i,i+1);"
svp aidez moi
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
3 août 2009 à 22:53
avec ça tu extrait deux lettres de ta chaine et en dessous tu compares avec une seule donc tu n'utilises pas la bonne fonction et de plus a un moment i+1 va "dépasser" la longueur de la chaine

essayes avec ch.charAt(i) et en commançant par i=0 car dans une chaine on compte en commançant à 0

var chaine_traduite="";
for(i=0;i<length(ch);i++)
{ x1=ch.charAt(i);
if (x1=='a') x2='1';
if (x1=='b') x2='2';
chaine_traduite+=x2
}
document.write(chaine_traduite);


pour eviter que document write écrase a chaque passage
0
nisfor Messages postés 81 Date d'inscription samedi 16 août 2008 Statut Membre Dernière intervention 2 février 2015 1
3 août 2009 à 23:04
merci pour votre aide
mais il marche pas encore l'ereur a la mém ligne que se soit " ch.charAt(i)" ou "substring(i,i+1)" ....
pourquoi !! pourquoi !! pourquoi !! il veux pas marché !!!!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
3 août 2009 à 23:18
chez moi ce code marche:

<html>

<head>
<title>Nouvelle page 1</title>
</head>
<body>
<script language="javascript">

var ch=prompt("donner un mot ou une phrase pour la convertir");
document.write("le resultat est :")
var chaine_traduite="";
for(i=0;i<ch.length;i++)
{ x1=ch.charAt(i);
if (x1=='a') x2='1';
if (x1=='b') x2='2';
chaine_traduite+=x2
}
document.write(chaine_traduite);
</script>
</body>
</html>
0
nisfor Messages postés 81 Date d'inscription samedi 16 août 2008 Statut Membre Dernière intervention 2 février 2015 1
3 août 2009 à 23:23
merci bcp ca marche bien ^^
chui bien au flash macromedia si tu veu kelke chose dit moi chui la ^^
0
nisfor Messages postés 81 Date d'inscription samedi 16 août 2008 Statut Membre Dernière intervention 2 février 2015 1
3 août 2009 à 23:56
je t'excuse car je te dérange bcp mais si tu veux de fair le contraire
quand je donne 1221 il me sort abba
si tu peu me donné algorithme de ce programe
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
4 août 2009 à 14:38
<html>

<head>
<title>Nouvelle page 1</title>
</head>
<body>
<script language="javascript">

var ch=prompt("donner un mot ou une phrase pour la convertir");
document.write("le resultat est :")
var chaine_traduite="";
for(i=0;i<ch.length;i++)
{ x1=ch.charAt(i);
if (x1=='1') x2='a';
if (x1=='2') x2='b';
chaine_traduite+=x2
}
document.write(chaine_traduite);
</script>
</body>
</html>
0
nisfor Messages postés 81 Date d'inscription samedi 16 août 2008 Statut Membre Dernière intervention 2 février 2015 1
10 août 2009 à 20:25
nn c'est ne marche pas comme ca car en prend par exemple a--->12 et b---->45 lorsque je donne 1245 il me sort "ab"
aidez moi svp...
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
11 août 2009 à 08:29
Bonjour,

Ca t'arrive de lire des fois ?
Tu demande à faire 1221, ce qui finalement consiste a faire exactement le même programme, puis tu lui parle de 1245... ce qui est loin d'être la même chose. Et effectivement, dans 1245, des '1' et des '2' il y en a qu'un seul de chaque, ce qui te donne 'ab', le résultat est bon.

Honnêtement, je ne sais pas pourquoi tu demande à ce qu'on te fasse ce genre de programme, mais tu n'es clairement pas fait pour ça (du moins pour le moment).
Je te conseille de suivre des cours d'algorithme élémentaire puis un peu plus poussé pour te perfectionner.
Il faut aussi bien cerner ton problème lorsque tu dois résoudre quelque chose (base de l'algorithmie je dirais)
Et enfin il faut savoir chercher un peu par soit-même, je te laisse d'ailleurs le loisir de trouver un tutoriel sur le sujet sur Internet ;)

0
nisfor Messages postés 81 Date d'inscription samedi 16 août 2008 Statut Membre Dernière intervention 2 février 2015 1
12 août 2009 à 17:44
oh nnnnnnnnn....!
je essayé et il ne marche pas !!!
essayer toi même aussi et tu trouvera la méme chose (marche pas)
bon en dit que votre parole est vrais done moi l' HTLM......et n'oublier pas de faire
if (x1=='12') x2='a';
if (x1=='43') x2='b';
0
nisfor Messages postés 81 Date d'inscription samedi 16 août 2008 Statut Membre Dernière intervention 2 février 2015 1
16 sept. 2009 à 01:02
svp quelqu'un m'aidez !!!
0