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 :

[Débutante] equalsIgnoreCase


Sujet :

Langage Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 28
    Par défaut [Débutante] equalsIgnoreCase
    Bonsoir
    je suis en train de faire un applet qui foncyionne comme suit: on insère des noms dans un TextField, et les noms sont rajoutés dans un vector. Après on peut chercher les noms par des petits parties de nom, par exemple 'art' trouverait 'Martin'. Mon problème est l'equalsIgnoreCase, comment je peux le rajouter dans 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
    22
    23
    24
    25
    26
    27
    28
    29
     
    public void actionPerformed(ActionEvent e) {
     
    		if (e.getSource() == txtNom) {
    			nom= (String)txtNom.getText();	
    			objetNom= new String(nom);		
    			vektori.addElement(objetNom);				
    			txtNom.setText(""); 				
    		}	
     
    		if (e.getSource() == txtCherche) {
    			cherche= (String)txtCherche.getText();	
    			txtCherche.setText(""); 				
    			for (int i=0; i<vektori.size(); i++) {	
    				nom.equalsIgnoreCase(cherche); // marche pas
    				int endroit= nom.indexOf(cherche);
    					if (endroit>= 0){			
    						vraie = true;
    						faux = false;
    					}
    					else{						
    						vraie = false;
    						faux = true;
    					}
    			}
    		}
     
    		repaint();
    }
    Merci beaucoup de votre aide!!

    Tootsi

  2. #2
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Bonsoir,

    c'est ca que tu veux?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     if ( (e.getSource()).equalsIgnoreCase(txtNom)==true) {

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Par défaut
    Citation Envoyé par nicotine002
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     if ( (e.getSource()).equalsIgnoreCase(txtNom)==true) {
    Euh peut être plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     if (e.getSource().equalsIgnoreCase(txtNom)) {
    parceque "boolean == boolean" c'est pas terrible comme test....

  4. #4
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    if (e.getSource().equalsIgnoreCase(txtNom)) {
    Les 2 facons sont correctes
    Ma condition est bonne... et fonctionne,Cf API:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public boolean equalsIgnoreCase(String anotherString)
    [/quote]

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Par défaut
    Je ne dis pas le contraire, seulement c'est du code superflu qui n'améliore pas la lisibilité..... si une méthode renvoie un boolean, ce n'est pas la peine de comparer son résultat à un autre boolean.

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Par défaut
    Tootsi, je ne vois pas bien ce que tu veux faire, à quoi doit servir ton equalIgnoreCase dans ton algorythme ?
    D'après la JavaDoc Ca ne sert qu'à comparer deux string en ignorant majuscules et minuscules, et ce sur tout le string, rien d'autre.

    Au fait, un détail, le vector est deprecated... ça n'a rien à voir avec ton problème, c'est juste en passant.

  7. #7
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Ok Marcin j'avais pas compris ta remarque, je croyais que tu dusais que c'était faux
    Mais bon, ca nous avance pas sur ce que veux Tootsi Faudrait qu il reponde

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Par défaut
    Citation Envoyé par tralloc
    Tootsi, je ne vois pas bien ce que tu veux faire, à quoi doit servir ton equalIgnoreCase dans ton algorythme ?
    Effectivement, j'avais pas fait gaffe... C'est pas plutôt contains() qui devrait être utilisée dans ce cas?

    Au fait, un détail, le vector est deprecated... ça n'a rien à voir avec ton problème, c'est juste en passant.
    Ah bon ???? Tu parles de la classe Vector ?????

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 28
    Par défaut
    Merci beaucoup pour vos réponses!

    Citation Envoyé par tralloc
    Tootsi, je ne vois pas bien ce que tu veux faire, à quoi doit servir ton equalIgnoreCase dans ton algorythme ?
    Donc il faudrait que les caractères insérés dans txtCherche trouvent ce qui est dans le vector, en ignorant les minuscules et les majuscules.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (e.getSource().equalsIgnoreCase(txtNom)) {
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public boolean equalsIgnoreCase(String anotherString)
    les deux codes ne fonctionnent pas, ce n'est donc pas equalIgnoreCase qu'il me faut?

    Ah oui, et pour le vector, on est arrivé jusqu'à là dans les etudes donc je suis obligée de l'utiliser

  10. #10
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    pour rechercher une chaine dans une autre indépendament de la casse tu peux faire ( on cherche ch1 dans ch2 ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(ch2.toUpperCase().indexOf(ch1.toUpperCase())!=(-1)){
       System.out.println("Occurence trouvée.");
    }
    Remarque il y a peut-être moyen de faire plus simple avec les expressions régulières...

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Par défaut
    Il suffit d'utiliser contains(CharSequence) qui renvoie true si la suite de caractères passé en argument est dans le String de départ (et un String est un CharSequence). Pour régler en plus les problèmes de casse, il suffit de passer les deux Strings en lower ou upperCase avant la comparaison.

  12. #12
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Par défaut
    Non pas contains sur le vector, tu ne trouverais que les occurrence exactes qui sont décrites dans le Vector (c'est ArrayList qui est conseillé par le J2Sdk1.5)
    Là tu parcourres ton Vector et c'est ce qu'il faut faire.

    Il faut juste faire la recherche, à mon avis comme le dis iohack... cependant je ne sais pas comment cela fonctionne avec les caractères accentués.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 28
    Par défaut
    Merci à tous! Ca fonctionne avec le code d'Iochack maintenant.

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

Discussions similaires

  1. Débutant XML
    Par viny dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 25/07/2002, 12h07
  2. [Kylix] Re Re: débutant sur Kylix et Linux.....
    Par Eclypse dans le forum EDI
    Réponses: 2
    Dernier message: 08/06/2002, 22h53
  3. [Kylix] Le débutant en Kylix et Linux....
    Par Eclypse dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 10h37
  4. Réponses: 3
    Dernier message: 07/05/2002, 16h06
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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