IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

ma boucle ne fonctionne pas


Sujet :

Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Par défaut ma boucle ne fonctionne pas
    bonjour,
    en faite je sais pas pour quoi j'arrive copie le contenu d'un tableau de caractère dans un autre tableau de caractète avec l'jout de caractère blanc et la suppression de certain d'autre,
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    for(int v=0;v<taille;v++){/*for*/
    			if((chaine1[v]=='+')||(chaine1[v]=='-')||(chaine1[v]==',')||(chaine1[v]==';')||(chaine1[v]=='/')
    			||(chaine1[v]=='*')||(chaine1[v]=='(')||(chaine1[v]==')')||(chaine1[v]=='='))
    			             {chaine2[z]=' '; chaine2[z+1]=chaine1[v]; chaine2[z+2]=' '; z++;}
    			else
    			    if(chaine1[v]=='{'){for(;(v<taille)&&(chaine1[v]!='}');v++);
    			                        if(v>taille) System.out.println("votre commentaire lui manque '}'");}
    			   else
    				   if((chaine1[v]==':')&&(chaine1[v+1]=='=')){chaine2[z]=' ';chaine2[z+1]=':';chaine2[z+2]='=';chaine2[z+3]=' ';z++;}
    				   else
    					   if((chaine1[v]=='<')&&((chaine1[v+1]=='=')||(chaine1[v+1]=='>'))){chaine2[z]=' ';chaine2[z+1]=chaine1[v];chaine2[z+2]=chaine1[v+1];chaine2[z+3]=' ';z++;}
    					   else
    						   if((chaine1[v]=='<')&&((chaine1[v+1]!='=')||(chaine1[v+1]!='>'))){chaine2[z]=' ';chaine2[z+1]=chaine1[v];z++;}
    						   else
    							   if((chaine1[v]=='>')&&(chaine1[v+1]=='=')){chaine2[z]=' ';chaine2[z+1]=chaine1[v];chaine2[z+2]=chaine1[v+1];chaine2[z+3]=' ';z++;}
    							   else
    								   if((chaine1[v]=='>')&&(chaine1[v+1]!='=')){chaine2[z]=' ';chaine2[z+1]=chaine1[v];z++;}
    								   else {chaine2[z]=chaine1[v];z++;}
     
    	/*for*/	}
    ma boucle récupère le contenu de la table chaine1 seulement dans la dernière condition.
    aidez moi svp

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Nous sommes bien en java là ?
    Alors je vous conseille de prendre pour habitude (et vous n'avez pas vraiment le choix) d'utiliser le ".equals" au lieu de "==" parce que (je ne sais plus vraiment la théorie) mais en utilisant "==" vous ne comparez pas du tout la valeur de l'objet mais son adresse ou qqch comme ça.

    Bref, voici ce qui conviendrait mieux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(chaine1[v]=='+')
     
    devient
     
    if(chaine1[v].equals("+"))

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Par défaut
    mais chaine1[v].equals("+") c'est pour comparée des chaine de caractère de type String ,et moi je cherche à comparée caractère par caractère.

  4. #4
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Non pas du tout vermine '+' n'est pas la même chose que "+". Le premier est un char donc un type primitif le second est un String donc un objet. Pour comparer les type primitif on utilise == et pour comparer la valeur des objets il faut utiliser la méthode equals. Les comparaison sont donc bonne.
    Par contre je n'ai pas vraiment compris ce que tu veux faire info.men? Peut tu nous montrer comment et a partir de quelle chaine tu récupère ton tableau chaine1?

  5. #5
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Au temps pour moi.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Par défaut
    en faite tout est réglé ,mais comme je vais vous expliqué ce que je veu récupéré:
    chaine1: int a:=23;
    chaine2: int a := 23 ;
    c tout rajouté des espace entre les <> entités,
    j'ai oublie d'augmenté la variable z plus qu'une fois a la fin de chaque remplissage de la chaine2, et la meme chose pour la variable v qd je récupère plus que 2 caractères de la chaine1.
    c été simple, et moi j'ai pas bien remarqué, merci comme meme ,et déselé pour le dérangement.

  7. #7
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Pas grave.
    Vous pouvez marquer votre sujet comme "Résolu".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ma boucle ne fonctionne pas comme je le veux !
    Par Noob380 dans le forum Débuter
    Réponses: 9
    Dernier message: 29/11/2011, 16h03
  2. [MySQL] Boucle ne fonctionne pas pourquoi ?
    Par BXDSPORT dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/07/2011, 17h05
  3. La boucle ne fonctionne pas sur un fichier flash
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/07/2008, 19h01
  4. boucle ne fonctionne pas
    Par fabrice44 dans le forum Général VBA
    Réponses: 13
    Dernier message: 24/04/2007, 14h33
  5. ma boucle ne fonctionne pas
    Par mélo6 dans le forum ASP
    Réponses: 2
    Dernier message: 17/06/2005, 11h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo