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 :

[String] comparaisom de caractere d un mot


Sujet :

Langage Java

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut [String] comparaisom de caractere d un mot
    pourrier vous m aider a ecrire une fonction qui compare 2 mots en en comparant chaque caractere un a un

    je m explique par exemple pour comparer ventre et ventilo il fait
    ventilo ventre
    comparaison de v et v vrai
    comparaison de e et e vrai
    n et n vrai
    t et t vrai
    i et r faux

    donc elle retourne faux[/u]

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    utilises StringTokenizer, je crois que c'est ça que tu cherches.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 220
    Points : 266
    Points
    266
    Par défaut
    Sauf que ton but c'est de comparer deux mots, et non de separer deux mots dans un String. Le probleme, sur les StringTokenizer, c'est qu'il te faut un séparateur pour eclater tes differents termes. La, tu n'en as pas, a part mettre un String vide. Ca, j'ai pas essayé, mais ca marche peut etre, auquel cas, toutes mes excuses...

    A priori, je convertirai mes deux mots a comparer en deux tableaux de char, ca, ca se fait facilement a partir de la classe String (getChars, si je ne m'abuse...), et faire une boucle simple, en comparant les characteres des deux tableaux un a un...

    Teste avant la longueur de tes String, et ne fais la boucle que dans le cas ou les deux longueurs sont egales, ca t'evitera de faire des tests inutiles, dans une boucle, de gérer les erreurs dans le cas de dépassement de taille de tableaux. En plus, tu risquerais d'avoir des resultats faux dans le cas de deux mots ayant la meme racine (Exemple, DEPLACE, et DEPLACEMENT, pour lesquels tous les characteres de DEPLACE se retrouve dans DEPLACEMENT, tu aurais un retour a true, alors que ce ne sont pas les memes mots...)

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 220
    Points : 266
    Points
    266
    Par défaut
    Autant pour moi il suffit de mettre le flag du StringTokenizer a true...

  5. #5
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    comprend pas ce que tu veux dire par
    Autant pour moi il suffit de mettre le flag du StringTokenizer a true...

  6. #6
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    et pourquoi ne pas faire une methode récursive?

    Edit : oups en fait, rien a voir c'est encore plus simple :

    Fait en une minute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public boolean compareTwoString(String un, String deux){
    		try{
    		for(int i=0; i<un.length(); i++) {
    			if (un.charAt(i) != deux.charAt(i))
    				return false;
    		}
    		} catch(Exception e){
    			return false;
    		}
    		return true;
    	}
    Etre c'est etre relatif.

  7. #7
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    je ne voit pas trop comment ???

  8. #8
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    j'ai edité mon msg
    Etre c'est etre relatif.

  9. #9
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Points : 100
    Points
    100
    Par défaut
    merci sa marche bien j aimerais juste savoir ce que fait

    catch(Exception e) et try

  10. #10
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 65
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par harris_macken
    merci sa marche bien j aimerais juste savoir ce que fait

    catch(Exception e) et try
    bloc try{..}catch(Exception e){....}.
    ça attrappe les exceptions ....
    tu devrais lire un tuto à ce sujet ....

  11. #11
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    try
    {
        .....ta sauce....
    }
    catch (System.Exception ex) 
    {
    	ex.ToString();
    }
    Après tu peux spécifier ton exception si tu veux.
    ça permet de gérer toutes les exceptions (exemple tu veux convertir une string en int alors qu'il y a que des lettres, un index qui est plus grand que la taille d'un tableau...)

  12. #12
    Membre régulier Avatar de calypso
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    une methode peut renvoyer une exception si elle a un pb durant son execution. Par exemple, une IndexOutOfBoundException si tu lui demande la case 5 d'un tableau de 3 cases (ou si tu fais charAt(5) dans une chaine de 3 caracteres...).
    Tu peux toi meme en lancer dans une methode en faisant new [Nom]Exception(), et en rajoutant "throws [Nom]Exception dans le prototype de ta methode.

    le bloc try{}catch te permet de recuperer ces exceptions. Il est indispensable si une methode est susceptible de t'en renvoier une.

    try signifie donc: essaye d'executer la methode
    et catch: voila ce que tu dois faire si elle echoue en renvoyant une exception.

    Ce qu'on fait en general c'est qu'on affiche l'exception avec e.printStackTrace() pour savoir d'ou elle vient. Ici il renvoie false car c'est signe que ca n'a pas marche.

    Voila!

  13. #13
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Mais sinon plus simplement regardes la javadoc et tu verras que dans la Class String, il y a une methode qui s'appelle equals()

    donc si tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "mapremiereString".equals("maDeuxiemeString")
    il te retournera un boolean faux.

    bref check la javadoc c'est très pratique
    Etre c'est etre relatif.

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 220
    Points : 266
    Points
    266
    Par défaut
    comprend pas ce que tu veux dire par
    Citation:
    Autant pour moi il suffit de mettre le flag du StringTokenizer a true...

    Je parlais de ce flag :

    An instance of StringTokenizer behaves in one of two ways, depending on whether it was created with the returnDelims flag having the value true or false: If the flag is false, delimiter characters serve to separate tokens. A token is a maximal sequence of consecutive characters that are not delimiters. If the flag is true, delimiter characters are themselves considered to be tokens. A token is thus either one delimiter character, or a maximal sequence of consecutive characters that are not delimiters.

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

Discussions similaires

  1. Exécution d'une string contenant un caractère réservé
    Par thunderblade dans le forum Linux
    Réponses: 3
    Dernier message: 05/04/2006, 17h32
  2. [String]portabilité des caractères \n et \r
    Par allstar dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 13h30
  3. Réponses: 10
    Dernier message: 28/05/2005, 11h19
  4. [String] Encodage de caractères pour une sortie HTML
    Par elitost dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 10/11/2004, 08h02
  5. [Débutant][String] Remplacez les caractères speciaux
    Par paf15 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 27/04/2004, 22h39

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