Tableau 2d/enregistrement

Résolu
cs_ajan Messages postés 35 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 13 avril 2007 - 24 mai 2006 à 11:41
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 24 mai 2006 à 16:15
Bonjour,

Je suis débutante en java et je voudrais créer une "matrice", c'est à dire un tableau à 2 dimensions, mais dont chaque colonne pointe sur un type d'objet et chaque ligne sur un autre type.

J'espère que je suis claire mais dans le doute...

J'ai un enregistrement, sous forme .text de résultats à des tests pour plusieurs espèces différentes. Je voudrais donc avoir un tableau avec ces résultats, et que les colonnes soient reliées aux tests et les lignes aux espèces...

Merci de m'aider, parce que là, je suis bloquée !

5 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
24 mai 2006 à 16:15
Lol ui fiston :D


Ba ajan si tu veux vraiment travailler avec des noms au format chaine
ou int remplace Vector<Vector<Object>> vec = new
Vector<Vector<Object>>();

par

Hashtable<String, Hashtable<String, Object>> table = new Hashtable<String, Hashtable<String, Object>>();


comme ca tu peux donner achaque lignes et colonnes un nom :D


après pour ce qui est de l'enregistrement dans un fichier et ou
chargement depuis un fichier c'est pinuts il te suffi d'avoir recours à
la serialisation/deserialisation


exemple :


//Serialisation

FileOutputStream fos = new FileOutputStream(fileName);

ObjectOutputStream out = new ObjectOutputStream(fos);

out.writeObject(table);

out.flush();

out.close();


//Deserialisation

FileInputStream fis = new FileInputStream(fileName);

ObjectInputStream in = new ObjectInputStream(fis);

Hashtable<String, Hashtable<String, Object>> table =
(Hashtable<String, Hashtable<String, Object>>)
in.readObject();

WORA
3
HSylvio Messages postés 116 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 14 juin 2012
24 mai 2006 à 14:39
Il faut je pense que tu utilises une hierarchie :

espece => espece1, espece2, ...
test => test1extends test, test2 extends test ....

Tu créé la méthode test(espece) où tu appelles des fonctions de espece qui pourront être spécifiques à chaque espece.
Ensuite pour ta matrice tu souhaites je pense enregistrer seulement le résultat, donc testI(especeJ) est le remplissage de la case (i,j).

Je ne suis pas sûr d'avoir bien compris ton probleme non plus.....
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
24 mai 2006 à 15:03
Salut,


idem que HSylvio soit plus explicite sur ton prblème stp.


sinon pour qd meme faire une tentative de réponse tu peux utiliser un
vecteur de vecteur d'objet afin d'y placer ce que tu veux dedans genre


Vector<Vector<Object>> matrice = new Vector<Vector<Object>>();


//admettons des objet Voiture, Personne, Chaise

Voiture v1, v2, v3;

Persone p1, p2, p3;

Chaise c1, c2, c3;


Vector<Object> vecLigneVoiture = new Vector<Object>();

Vector<Object> vecLignePersonne = new Vector<Object>();

Vector<Object> vecLigneChaise = new Vector<Object>();


.......

vecLigneVoiture.add(v1);

vecLigneVoiture.add(v2);

vecLigneVoiture.add(v3);


vecLignePersonne.add(p1);

vecLignePersonne.add(p2);

vecLignePersonne.add(p3);


vecLigneChaise.add(c1);

vecLigneChaise.add(c2);

vecLigneChaise.add(c3);


matrice.add(vecLigneVoiture);

matrice.add(vecLignePersonne);

matrice.add(vecLigneChaise);


enfin je dis ca mais suis pas sur d'avoir bien cerné ton problème :D

WORA
0
cs_ajan Messages postés 35 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 13 avril 2007
24 mai 2006 à 15:29
ouais, j'avoue, j'ai pas été très claire.

je sais pas si ça parle plus, mais en fait, dans l'idéal, ce que j'aimerai avoir, c'est un tableau 2d où en prenant  tableau(i,j)  j'ai le résultat d'un test j pour une espèce i (ça, c par encore très compliqué), mais en plus, je puisse accéder à des "noms" de colonnes et de ligne, qui seraient en fait des pointeurs sur un objet test ou espèce, en faisant quelque chose du style tableau(i,j).colonne ou tableau(i,j).ligne.

je pense qu'un enregistrement serait la meilleure solution, mais je n'arrive pas à voir comment le faire.

En fait, ce que je veux faire, c'est un tableau 2d "amélioré", sur lequel je puisse donner à chaque ligne et colonne un "nom".

Au pire, je peux toujours faire un tableau d'enregistrement avec dans chaque "case", le résultat, le test et l'espèce mais y'a mieux comme code...
0

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

Posez votre question
HSylvio Messages postés 116 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 14 juin 2012
24 mai 2006 à 15:49
C'est bien ce que j'imaginais, alors pour en revenir à ma solution (qui est certainement moins bonne que celle de Twinuts, c'est monPère...) ,

les classes mère 'test' et 'espece' contiennent un String avec leur nom; une méthode 'teste(espece) et getVal( valeurDesireePourLeTest)'
Tu créées 1 JTable avec des headers dans lesquels tu mets le nom (méthode des classes mères donc pas de pb),
Tu remplis le tableau en faisant myTable.setValue( tests[i].teste(espece[j]) , i, j); ou l'inverse si les tests sont en colonnes.

Qu'en dis tu , boss?
0
Rejoignez-nous