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

Langage Java Discussion :

Grosse enigme sur les String... :/


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 77
    Par défaut Grosse enigme sur les String... :/
    Je suis sur un problème depuis quelques temps maintenant. J'ai essayé de tout décomposer au maximum, mais je suis paumé :/

    Voilà le code java contenu dans une boucle 'while(rs.next())':

    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
     
    recherche = "id=\""+equip+"_"+rs.getString("semestre")+"_"+rs.getString("annee")+"_"+idm+"\"";
    int index = page.indexOf(recherche);
    page += "recherche : "+recherche+"<br/>";
    if (index!=-1) {
    	String debut = page.substring(0,index);
    	String fin = page.substring(index,page.length());
    	page = debut+"style=\"background-color:#96f87e; display:none;\" "+fin;
    	// changement du texte
    	index = page.indexOf("value=\""+equip+"_"+rs.getString("semestre")+"_"+rs.getString("annee")+"_"+idm+"\"");
    	if (index!=-1) {
    		int indexFin = page.indexOf("<",index);
    		String aux = page.substring(index,indexFin).replace("ajouter","supprimer").replace(",'0'","");;
    		page = page.substring(0,index)+aux+page.substring(indexFin,page.length());
    	} else {
    		page += "  erreur sur (index="+index+") : value=\""+equip+"_"+rs.getString("semestre")+"_"+rs.getString("annee")+"_"+idm+"\"<br/>";
    	}
    } else {
         page += "index(1) : "+index+" "+recherche+"<br/>";
    }
    et voici ce qui s'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    recherche : id="10_1_2_69"
    recherche : id="13_1_2_69"
    recherche : id="14_1_2_69"
    recherche : style="background-color:#96f87e; display:none;" id="9_1_2_69"
    index(1) : -1 id="9_1_2_69"
    Les 2 dernières lignes me posent problème. Particulièrement l'avant dernière.
    Comment peut-elle m'afficher le alors que je n'ai jamais mis ça dans recherche ?!
    Et pire, lorsque je réimprime 'recherche' dans le 'else' (car index=-1), il me l'affiche correctement !!!!!

    Et quelques précisions : recherche et page sont des String (logique). Et rs un ResulSet.

  2. #2
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Par défaut
    Oh là, c'est dur à débugger tout ça...

    Un premier conseil...De par le caractère immuable de String, passe de toute urgence à l'usage d'un StringBuilder pour concaténer tes chaînes, ça t'évitera bien des soucis !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 77
    Par défaut
    je ne suis pas chez moi là.
    Je regarde ça dès que je rentre et je te dis.

    Merci pour cette réponse rapide !

  4. #4
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    En même temps c'est normal qu'il t'affiche recherche : style="background-color:#96f87e; display:none;" id="9_1_2_69"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    page += "recherche : "+recherche+"<br/>";
    page = recherche : blabla
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String debut = page.substring(0,index);
    Si index = 11 alors :
    début = recherche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    page = debut+"style=\"background-color:#96f87e; display:none;\" "+fin;
    page = recherche : style="background-color:#96f87e; display:none;" lafin

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 77
    Par défaut
    non non, page contient du code HTML de plusieurs milliers de caracteres qui commence par les 'head' etc. Donc aucun risque (d'autant plus que j'ai affiche chez moi 'page' en complet, et qu'il n'y a pas ce pb )

    et puis si tu regardes la chaines que tu me donnes, index ne peut en aucun cas valloir 11 puisqu'on tomberait sur le mot 'background'.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 77
    Par défaut
    j'ai un peu joué avec les StringBuffer, mais ça n'a rien arrangé :/
    Ca ne pourrait pas être le compilo (javac) qui en esseyant d'optimiser le code fout le bordel dedans ?

    Et puis ce qui est amusant, si j'ose dire, c'est que malgré le fait que le programme m'affiche des chose insensées, l'objet de ma recherche est effectivement absent de ma chaine de caractères 'page' !!!!

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

Discussions similaires

  1. [JSP + EL] Opérations sur les String
    Par phoebe dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 16/05/2007, 15h26
  2. Grosse énigme sur les propriétés indexées
    Par chtiantoine dans le forum Struts 1
    Réponses: 3
    Dernier message: 10/12/2006, 19h13
  3. Pb sur les String entre navigateurs
    Par chpog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/09/2005, 10h59
  4. [Debutant] Pb sur les string
    Par chpog dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 16/09/2005, 12h03
  5. Realiser des tests exhaustifs sur les String
    Par Sarrus dans le forum Langage
    Réponses: 9
    Dernier message: 07/07/2005, 11h52

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