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 :

chercher caractére d'une chaine dans une chaine


Sujet :

Langage Java

  1. #1
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut chercher caractére d'une chaine dans une chaine
    salut mes amis
    j'ai un problème , je voulais realiser un code qui me permet de tester si une valeur appartient a une valeur si oui ou nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    int index=0;
      String Q="ABC";
      String f="BC";
      index = Q.lastIndexOf(f.toString());
                       if (index != -1) {
                         System.out.print("vrai");
                       }
    else {
    System.out.Println ("faux ");}
    mais ça ne marche pas car si j'ai f="AC" il m'affiche faut
    mais je voulais que cette valeur appartient

    un autre exemple si j'ai Q ="ABCD" et f="AD" normalement m'affiche vrai au leiu de faux

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    tu test caractere par caractere
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  3. #3
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    mais comment je dois tester caractére par caractère

  4. #4
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Citation Envoyé par ulysse031
    mais comment je dois tester caractére par caractère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String recherche = "ABC";
    String valeurs = "BC";
    int i = 0;
    boolean trouve = false;
    do {
      trouve = ( recherche.indexOf(valeurs.charAt(i)) != -1);
      i++;
    } while ( (i < valeurs.length) && !trouve );
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    s="ABC";
    boolean b=s.matches(".*AB.*");

  6. #6
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    salut mes amis merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String recherche = "ABC";
    String valeurs = "BC";
    int i = 0;
    boolean trouve = false;
    do {
      trouve = ( recherche.indexOf(valeurs.charAt(i)) != -1);
      i++;
    } while ( (i < valeurs.length) && !trouve );
    mais comment je dois afficher le resultat System.out .println

  7. #7
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Citation Envoyé par ulysse031
    salut mes amis merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String recherche = "ABC";
    String valeurs = "BC";
    int i = 0;
    boolean trouve = false;
    do {
      trouve = ( recherche.indexOf(valeurs.charAt(i)) != -1);
      i++;
    } while ( (i < valeurs.length) && !trouve );
    mais comment je dois afficher le resultat System.out .println
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String recherche = "ABC";
    String valeurs = "BC";
    int i = 0;
    boolean trouve = false;
    do {
      trouve = ( recherche.indexOf(valeurs.charAt(i)) != -1);
      i++;
    } while ( (i < valeurs.length) && !trouve );
    String resultat=trouve ? "vrai" : "faux"
    System.out.println(resultat);
    @+


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  8. #8
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Vous vous compliquer la vie !!!
    indexOf marche très bien et même le code du premier message (après correction des fautes de frappes et indentations) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	String Q = "ABC";
    	String f = "BC";
     
    	if (Q.lastIndexOf(f) != -1) {
    		System.out.println("vrai");
    	} else {
    		System.out.println("faux ");
    	}
    Donc : ulysse031, quel est le problème ???

    a++

  9. #9
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Citation Envoyé par ulysse031
    mais ça ne marche pas car si j'ai f="AC" il m'affiche faux


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  10. #10
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    mais désolé mes amis encore un problème si j'ai String f = "Be"; normalement j'aurais faux et pas vrai

  11. #11
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    @afrikha >> Merci j'avais mal compris le problème ! Oups !

    Citation Envoyé par ulysse031
    mais désolé mes amis encore un problème si j'ai String f = "Be"; normalement j'aurais faux et pas vrai
    Avec quelle chaine en entrée ???? Si c'est toujours "ABC" c'est normal non ???

    Ou alors je n'ai toujours rien compris...

    a++

  12. #12
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String recherche = "ABC";
    String valeurs = "BC";
    int i = 0;
    boolean trouve = false;
    do {
      trouve = ( recherche.indexOf(valeurs.charAt(i)) != -1);
      i++;
    } while ( (i < valeurs.length) && !trouve );
    mais si j'ai valeurs ="BE" alors il m'affiche faux
    si j'ai recherche = "ABCD" et valeurs ="AZ" il m'affiche faux

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Points : 310
    Points
    310
    Par défaut
    Bonjour,

    Toi ce que tu veux c'est que le programme vérifie s'il y a au moins un des caractères de ta chaîne "valeurs" dans ta chaîne "recherche" c'est ça ?

    Dans ce cas il faut boucler sur chaque caractère de ta chaîne "valeurs".

  14. #14
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Comme dirait l'autre : "ne pas s'énerver, ne pas s'énerver"...
    Juste un conseil ulysse031 apprend à écrire en français !

    Tu veux quoi EXACTEMENT ?
    - Trouver si une chaine de caractères est incluse dans une autre ?
    - Trouver si tous les caractères d'une liste sous inclus dans une autre liste de caractères ?
    - Trouver si au moins une occurrence d'une liste de caractères est présentes dans une autre liste de caractères ?

    (tiens je le sors pas souvent celui-là)
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  15. #15
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    désolé mes amis
    je cherche si une chaine A="ad"et B ="abcd" alors m'affiche true
    mais si j'ai A="as" alors m'affiche false car s apparitient pas

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par ulysse031
    désolé mes amis
    je cherche si une chaine A="ad"et B ="abcd" alors m'affiche true
    mais si j'ai A="as" alors m'affiche false car s apparitient pas
    desole que j'ai mal compris ta question. Donc je récrire mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public static void main(String[] args) {
           String cherche="abcd";
           String trouve=".*a.*d.*";
    //     si la chaine deja connu  ,trouve="ad" 
           System.out.printf("%b",cherche.matches(trouve));
    Si "trouve" n'est pas connu a priori(cas normal), je suppose que il se compose
    en caractere , y compris celui francais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	public static void main(String[] args) {
    	String cherche="abcd";
            String inconnu="";
            String trouve=inconnu;
            String regex = inconnu.replaceAll("(\\p{L})",".*$1")+"$";
            //si tu n'accepte pas "inconnu" vide;
            String s = String.format("%b", cherche.matches(regex));
            System.out.println("le resulat est "+s);
    Alors de facon normal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	 public static void main(String[] args) {
    	       String cherche="abcd";
    	       String inconnu="ad";
    	       String trouve=inconnu;
    	       char[] ch=trouve.toCharArray();
    	       boolean b = ch.length !=0;
    	       //Si vous n'acceptez pas le cas ou la taille de inconnu peut etre null  
    	       int i=0;
    	       while (i < ch.length && b){
    	    	   b= cherche.contains(ch[i]+"");
    	    	   i++;
    	       }
    	       String s = String.format("%b",b);
    	       System.out.println("Le resultat est "+s);

  17. #17
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    merci encore mes amis je voulais bien développer cette idée
    si par exemple j'ai une liste
    ArrayList BB = new ArrayList();
    BB.add("A");
    BB.add("B");
    BB.add("C");

    et je voulais bien tester si valeurs ="AC" appartient dans la liste BB
    j'ai tenté de faire ça mais ça n'a pas marché

    j'ai créé une méthode rechercher dans une classe alpha
    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
    30
    31
    32
    33
    34
    35
    36
    37
     
    public static boolean  rechercher( String chaine2, ArrayList B){
     
              int index = 0;
     
              String chaine3 = null;
     
              chaine3 = chaine2;
     
              boolean conti = true;
     
              while (chaine2 != null) {
     
                for (int j = B.size() - 1; j >= 0; --j) {
     
                  index = chaine3.lastIndexOf(B.get(j).toString());
                  if (index != -1) {
                    conti = true;
     
                    chaine3 = chaine2.subSequence(0, index).toString();
                  }
                  else {
                    conti = false;
        cont= "true";
                    break;
                  }
     
                }
                if (conti) {
     
                  chaine3 = chaine2.subSequence(0, index).toString();
                }
     
              }
     
              return (conti);
            }

    je voulais bien que cette méthode me retourne true si chaine2 appartient et false si n'appartient pas

    String S=alpha.rechercher(valeurs,BB);
    System.out.println(S);



  18. #18
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    "Le temps ne fait rien à l'affaire..."
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  19. #19
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    ami essaie de me comprendre j'ai tenté a realiser cette méthode car imagine j'ai au lieu des lettres des chiffres par exemple aulieu de AC j'ai 123145
    et je considére que A = 123 et B =145 aidez moi mes amis a développer mon idée et merci encore

  20. #20
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    j'ai modfier le 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
     
     public  static boolean nomDeLaMethode(String chaine2, ArrayList B) {
                      int ok = 0;
                      int index = 0;
     
     
                 for (int j = B.size() - 1; j >= 0; --j) {
     
                   index = chaine2.lastIndexOf(B.get(j).toString());
                   if (index != -1) {
                     ok++;
     
                     chaine2 = chaine2.subSequence(0, index).toString();
                   }
     
                 }
     
     
                 if (ok >= chaine2.length())
                            {
                              return true;
                      }
                      else{
                      return false;
              }

    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
     
     
    public static void main(String[] args)
     
        {
          ArrayList BB = new ArrayList();
          BB.add("12");
          BB.add("145");
          BB.add("13");
     
    String valeurs = "1213";
     
     
    boolean d=alpha.nomDeLaMethode(valeurs,BB);
            System.out.print(d);
    }




    normalement j'airais true mais si j'ai valeurs ="12148" j'aurais false
    j'ai remarqué que la méthode n'est pas juste il manque quelque chose quelque part

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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