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

Collection et Stream Java Discussion :

Tableau d'index sur un texte


Sujet :

Collection et Stream Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Points : 29
    Points
    29
    Par défaut Tableau d'index sur un texte
    bonjour les amis ;

    j'ai besoin de comment faire un index avec un tableau sur un texte de la manière suivante:
    par exemple:

    on un texte String = " BONJOUR JACK";
    1- je veux diviser le texte que j'ai eu en des sous partie par exemple : BO NJ ...
    2-je veux créer un tableau : String Tab[];
    3- je veux réalisé cette indexation Tab[1]= BO
    et quand j'utilise System.out.println(Tab[i] ); ( biensur avec une boucle) il va afficher :
    Tab[1] = BO
    Tab[2]= NJ
    .
    .
    .
    pouvez vous m'aidé ??

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 190
    Points : 153
    Points
    153
    Par défaut
    Le type String contient des méthodes telles que substring(int beginIndex, int endIndex)

    Dans ton exemple, tu peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tab[0] = text.substring(0, 2); 
    tab[1] = text.substring(2, 4);
    Toujours dans le type String, tu as la méthode split.
    Et là je ne sais pas comment faire une expression régulière qui coupe après deux caractères.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par LGnord Voir le message
    Le type String contient des méthodes telles que substring(int beginIndex, int endIndex)

    Dans ton exemple, tu peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tab[0] = text.substring(0, 2); 
    tab[1] = text.substring(2, 4);
    Toujours dans le type String, tu as la méthode split.
    Et là je ne sais pas comment faire une expression régulière qui coupe après deux caractères.
    Merci bien LGnord je vais essayé avec la substring et si elle marche je vais la déposé ici

  4. #4
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Points : 29
    Points
    29
    Par défaut
    j'ai essayé le substring et j'ai eu cette erreur ;

    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
     
    package Source;
     
     
     
    public class NewClass {
         public static void main(String [] args){
             String text ="ABCDERFGTH";
             String Tab[]= null;
             int i=0;
             for (i=0;i<5;i++){
                Tab[i]=text.substring(i,i+2);
                System.out.println(Tab[i]);
     
             }
     
     
     
     
         }
     
    }
    affichage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    run:
    Exception in thread "main" java.lang.NullPointerException
    	at Source.NewClass.main(NewClass.java:18)
    Java Result: 1
    GÉNÉRATION TERMINÉE (durée totale* 0 secondes)

  5. #5
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Avec "String Tab[]= null;"
    pas étonnant d'avoir une exception !

    essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String Tab[]=new String[5];
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Salut,

    Ton code pourait être modifié comme ci-dessous:

    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
     
    public class NewClass {
             public static void main(String [] args){
             String text =" BONJOUR JACK";
             text = text.trim(); // pour supprimer les espaces éventels en début et fin de texte
             int tailleTab = text.length()/2;
             if(text.length() %2 != 0) // est-ce divisible par 2 ?
             tailleTab++; // si non divisible par 2
             text = text + " "; // on ajoute un espace au texte text pour être pair
             System.out.println("tailleTab = " + tailleTab);
             String tab[]= new String [tailleTab];
             //for(int i=0;i<text.length();i+=2)
             int j = 0;
             {
                for(int i=0;i<tailleTab;i++)
                {
                   j = i;
                   tab[i] = text.substring(j *=2 , j +2);
                   System.out.println(tab[i]);
                }
             }
          }
       }
    Cordialement,

    Dan

Discussions similaires

  1. Erreur sur champ text pour un index Full-Text
    Par Steph82 dans le forum Outils
    Réponses: 5
    Dernier message: 06/01/2011, 14h08
  2. [E-07] Tableau VBA indexé par un texte ?
    Par Library dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/11/2008, 11h49
  3. Undefined index sur tableau $_SERVER
    Par grunk dans le forum Langage
    Réponses: 1
    Dernier message: 01/07/2008, 13h13
  4. Correction Faute de Frappe - Indexation sur texte Intégrale?
    Par tomttf dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/04/2007, 11h32
  5. [Debutant][Tableau] Tableau indexé sur chaine de caractères
    Par SamRay1024 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 07/05/2004, 11h14

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