Tableau dynamique

Tableau dynamique - Java - Programmation

Marsh Posté le 10-02-2006 à 15:37:36    

Bon, je débute en Java et je dois faire un projet info/chimie dessus mais je suis bien motivé. Le problème, c'est que je me casse la tête sur un problème qui doit pourtant être courant mais j'ai fouillé sur le net, faire un tableau dynamique, et je n'ai pas trouvé de réponse précise, tout du moins avec un exemple montrant clairement comment ça marche. J'ai compris qu'en imbriquant deux ArrayList je pouvais y arriver et je vois bien la logique. J'ai donc fait ce code là :
 

Code :
  1. import java.io.* ;
  2. import java.util.* ;    // pour StringTokenizer
  3. public class Molecule {
  4. public static void main (String args[]) throws IOException {
  5.     String nomfich ;
  6.      ArrayList<String> ligne = new ArrayList<String>();
  7.      ArrayList<ArrayList> ligne = new ArrayList<ArrayList>();
  8.      int nb = 0;
  9.      int k = 0;
  10.    
  11. // Ouverture du fichier à lister
  12.      System.out.print ("Donnez le nom du fichier a lister : " ) ;
  13.      nomfich = Clavier.lireString() ;
  14.      BufferedReader entree = new BufferedReader (new FileReader (nomfich)) ;
  15. /* On lit chaque ligne et on ajoute chaque mot dans le vecteur mot  
  16. et chaque ligne formée dans le vecteur ligne */
  17.      while(true) {
  18.       String ligneLue = entree.readLine() ;
  19.       if (ligneLue == null) break ;
  20.   boolean resultat = ligneLue.startsWith("ATOM" );   
  21.       if (resultat == true) {
  22.        StringTokenizer tok = new StringTokenizer (ligneLue, " " ) ;
  23.    nb = tok.countTokens() ;
  24.          for (int i=0 ; i<nb-2 ; i++) {
  25.           mot.add(tok.nextToken());
  26.          }
  27.          ligne.add(mot);
  28.          System.out.println("Valeur de la ligne " + k + " : " + ligne.get(k));
  29.          k++;
  30.       }
  31.       }
  32.  System.out.println("Récapitulatif des valeurs :" );
  33.  for (int i=0 ; i<nb-2 ; i++) {
  34.   System.out.println(mot.get(i));
  35.  }
  36.  System.out.println("Valeur d'une ligne : " + ligne.get(1));
  37.      entree.close () ;
  38.    }
  39. }


 
 
Ca donne pour résultat que je pour chaque élément de ligne, je conserve les élément précédents (l'élément 2 contient l'élément 1 et l'élément 0 et ainsi de suite). Je crois donc que si je pouvais créer des nouveaux arraylist (du type ligne0, ligne1, etc), ça pourrait fonctionner mais je ne suis pas sûr que ça soit très propre et je ne sais pas comment faire pour utiliser des variables dans un nouveau nom de variable.
 
Merci par avance pour votre aide :)

Reply

Marsh Posté le 10-02-2006 à 15:37:36   

Reply

Marsh Posté le 10-02-2006 à 15:41:52    

#
       ArrayList<String> ligne = new ArrayList<String>();
#
       ArrayList<ArrayList> ligne = new ArrayList<ArrayList>();
 
 
ça compile pas trop truc, c'est le même nom ...
 
 
tu veux une matrice de String ?

Reply

Marsh Posté le 10-02-2006 à 15:51:36    

c'est ArrayList<String> mot = new ArrayList<String>();  à la place de ArrayList<String> ligne = new ArrayList<String>();  
 
Oui en fait je veux une matrice mais avec un coté dynamique en fait (la partie ligne)

Reply

Marsh Posté le 13-02-2006 à 10:33:42    

Personne ? :(

Reply

Marsh Posté le 13-02-2006 à 11:15:41    

import java.util.* ;    // pour StringTokenizer


WTF[:pingouino]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed