Tableau de string en java

Fermé
aminaxy Messages postés 151 Date d'inscription jeudi 1 septembre 2011 Statut Membre Dernière intervention 18 août 2016 - 11 mars 2012 à 01:30
aminaxy Messages postés 151 Date d'inscription jeudi 1 septembre 2011 Statut Membre Dernière intervention 18 août 2016 - 11 mars 2012 à 18:43
Bonjour,
je veut utiliser une commande et récupérer le résultat et le mettre dans un tableau de String en java:

j'ai essayé :String tab[20]="comande";

mais ça ne marche plus,il me dit que les types ne sont plus équivalents
je suis nouveau en java,et merci pour l'aide
A voir également:

5 réponses

l3ajib Messages postés 176 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 12 mai 2012 86
11 mars 2012 à 02:17
Si j'ai bien compris, tu veux mettre du texte lu à partir du clavier par exemple et mettre le résultat dans une chaîne ?


Si oui tu n'as pas besoin de déclarer un tableau de String
Voici une façon de faire :

String resultat = "Le résultat désiré ici !";

ou bien

String resultat;
resultat = "Le résultat désiré ici !";


Si c'est autre chose bah vas y demande :)
1
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
11 mars 2012 à 14:08
Et si c'est vraiment un tableau de String que tu veux, on peut faire comme ceci :

String[] tab = {"mot1", "mot2", "mot3"};
0
Utilisateur anonyme
11 mars 2012 à 10:19
Salut,

String tab[20]="comande"; signifie PRESQUE qu'on veut mettre le mot "comande" dans l'élément 20 (le 21eme car les éléments sont numérotés en d'ébutant par 0).

Telle qu'est écrite cette ligne il ne peut rien se passer sauf la détection d'une erreur:

Puisque le terme String est présent, c'est qu'on voudrait créer quelque chose qui n'existe pas encore (un tableau non ?) mais certainement pas le déclarer et initialiser la "case" 20 avec le mot "comande" à l'aide d'une seule instruction.

Remarque:
Le terme String est en fait le constructeur de la classe String.

Voyons maintenant comment déclarer et créer le tableau de String tab.


-déclaration.
Deux façons de faire
1) String[] tab;
2) String tab[];

-création.

tab = new String[taille};

Cette création consiste à donner une taille à notre tableau.
La taille est en fait le nombre d'éléments qui pouront être créé, cette taille est définitive et ne poura ni être diminuée ni être agrandie d'où l'importance du choix de cette taille.
Noter qu'on aura quand même une façon de nous en sortir en cas de besoin en créant un tableau tab2 de taille plus importante que celle de tab et de copier le contenu de tab dans tab2...
Une autre solution provisoire serait de donner une taille beaucoup plus grande que nécessaire, mais tôt ou tard...
Une solution beaucoup plus belle est l'utilisation d'une ArrayList avec laquelle la contrainte taille fixe du tableau n'existe pas.
Pour l'instant on poursuit la céation du tableau tab en lui donnant une taille de 100 par exemple ce qui permettra de traiter 101 éléments
tab = new String[100];
Il est d'usage courant de regrouper déclaration et création sur une seule ligne:
1) String[] tab = new String[100];
Ou bien puisque nous avons 2 possibilités de déclarer
2) String tab[] = new String[100];
Je pense que 1) est plus souvent adopté...
Ensuite on pourait utiliser tab et par exemple faire tab[20] = "comande";
Ce n'est certainement pas ce que tu dois faire mais tu peux maintenant avancer.

Cordialement,

Dan
0
aminaxy Messages postés 151 Date d'inscription jeudi 1 septembre 2011 Statut Membre Dernière intervention 18 août 2016 1
Modifié par aminaxy le 11/03/2012 à 16:14
merci pour tout votre aide :),voici mon code,mais je trouve un problème le tableau jTable1 s'affiche mais la même ligne que je veut se répète pour les lignes ainsi que pour les colonnes:


 public String[] tab = new String[250]; 
 public Object[][] données;    

 public void init_données(){ 
         try{  
        String  commande = "la commande que je veut taper";                         
         traitement de la commande.... 
      } 
        String response = build.toString();   //response le résultata de ma commande 
         
        for(int i=0;i<tab.length;i++){ 
            tab[i]=response ; 
        } 
        int N= tab.length; 
        données = new Object[(N-1)/2][2]; 
        int k=0, l=1; 
        for(int i=0; i<(N-1)/2; i++){ 
                    données[i][0] = tab[k]; k=k+2; 
                  données[i][1] =  tab[l]; l=l+2; 
                     
                     
        } 
      String  titre[] = {"titre1", "titre2"}; 

        jTable1 = new JTable(données, titre); 
        jScrollPane1.setViewportView(jTable1); 
         
        }catch(Exception e){ 
    exception .... 
         }
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
Modifié par KX le 11/03/2012 à 16:17
C'est normal que la ligne se répète vu que tab contient 250 fois la même String :

for(int i=0; i<tab.length; i++) {
    tab[i]=response ;
}

Que devrait vraiment contenir tab ?
0
aminaxy Messages postés 151 Date d'inscription jeudi 1 septembre 2011 Statut Membre Dernière intervention 18 août 2016 1
11 mars 2012 à 17:36
merci KX pour me répondre,le Tab doit contenir le résultat de la commande que j'ai tapé après découpage, je doit avant utiliser la méthode substring pour découper le résultat en caractères que je veut qu'ils seront affichés dans le tableau JTable,j'ai pensé d'utiliser 2 tableau l'un pour récupérer le résultat aprés traitement response,et un autre pour les cacatéres aprés découpage,puis je incrémente a ce tableau mais je ne sait pas comment faire ça
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
11 mars 2012 à 17:52
Pour le découpage, tu peux utiliser split, mais ça dépend ce que tu veux faire en fait...
Si tu veux avoir un tableau avec une ligne du résultat de la commande par case, tu peux faire :

String[] tab = response.split("\n");
0
Utilisateur anonyme
11 mars 2012 à 18:40
Re,

Quel est le format de ce découpage que tu dois stokcer dans tab ?
Est-ce que c'est gros (en quantité) ?

Tu pourais pour chaque commande découper le résultat, le concaténer dans un String (par exemple Strig str) en ajoutant un séparateur (par exemple |) et obtenir dans le String:
"découpage1|découpage2|....|découpagen"
et créer le tableau tab en utilisant split:

String[] tab = str.split("|");

L'unique obligation est que chaque découpage ne doit pas contenir le caractère |

Cordialement,

Dan
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aminaxy Messages postés 151 Date d'inscription jeudi 1 septembre 2011 Statut Membre Dernière intervention 18 août 2016 1
11 mars 2012 à 18:43
ok merci pour l'aide je vait essayer d'utiliser la méthode split
0