StringTokenizer pour remplir un tableau
Bonjour,
J'ai un petit problème dans mon implémentation, pourquoi ça marche pas?
(oulala, c'est lundi, pardonnez moi!)
Bon, pour éviter de poster en chanson mon post, je vais faire vite:
J'ai une chaine qui ressemble a cela:
elt1/elt2/elt3;elt1/elt2/el3;...;elt1/elt2/elt3
Je voudrais remplir un tableau avec ces valeurs comme ceci:
[[elt1, elt2, elt3],[...], ..., [elt1, elt2, elt3]]
J'ai essayé de faire deux stringtokenizer imbriqué, mais ca ne marche pas comme je le souhaite, je ne sais pas ou faire mon nextToken...
J'ai qqch dans ce genre:
Code:
1 2 3 4 5 6 7 8 9 10
|
String[][] tab;
StringTokenizer st = new StringTokenizer("ceci/est;un/test", ";");
while (st.hasMoreTokens()) {
StringTokenizer st2 = new StringTokenizer(st.nextToken(), "/");
while (st2.hasMoreTokens()) {
BVLog.bvlog(1,1,"====test St2 = " + st2 + "=====");
}
} |
Mais bon, je ne sais pas comment ca va remplir le tableau...
En plus, c'est une magnifique boucle infinie que je fais là.... -_-
Code:
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| ...
Mon Nov 27 16:16:13 2006 (1164640573.925476) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925501) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925526) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925556) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925582) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925607) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925632) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925658) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925683) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925708) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925733) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925758) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925783) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925808) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925833) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925858) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925883) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925909) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925934) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925959) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.925984) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926009) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926034) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926060) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926085) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926114) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926140) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926166) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926191) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926216) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926241) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926267) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926292) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926317) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926341) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926366) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926392) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926417) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926442) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926467) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926492) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926517) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926542) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926567) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926889) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.926924) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.927060) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.927091) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.927123) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.927149) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
Mon Nov 27 16:16:13 2006 (1164640573.927174) bvsmgr_nopure[1650]@DFS11:<12.839558241>:L1:S01 ====test St2 = java.util.StringTokenizer@ccc588=====
.... |
remplir un graphe en utilisant les tokenizer sur un fichier
Citation:
Bonjour, je cherche un ptt coup de main pour resourdre mon probleme qui est le suivant:
je dispose d'un fichier :
section HEADER
+ name := son;
- author := ’’Benoit Sonntag’’;
section INHERIT
- parent:father := father; // name of the slot doesn’t matter
section PUBLIC // Full access.
- change parent p:father <-
(
parent := p;
);
section PRIVATE // Access Private !
+ count:integer; // Data.
section son // Other type access.
+ get count:integer <-
(
count
);
section mother,children // Access for only mother and children prototype.
+ inc <-
(
count := count + 1;
);
Je veux parser ce fichier en utilisant un tokenizer. le parsing s'arrete de qu'il tomble sur la chaine qui commence par
section INHERIT.
apres il va recupere la chaine
- parent:father := father;
qui ce trouve entre
section INHERIT et
section PUBLIC
en traitant cette chaine , il va donner a un noed du graphe le nom
Father. je vour sremerci d'avance.
j'ai une partie de programme mais je pense il faut ajouter d'autre choses:
Code:
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 38 39 40 41 42 43 44 45 46 47 48
|
import java.io.*;
import java.util.regex.*;
class LireLigne
{
private static FileReader rd;
private static StreamTokenizer st;
public static void affiche (String nomfichier)
{
try {
// Creation du Tokenizer
rd = new FileReader(nomfichier );
st = new StreamTokenizer(rd);
int token =0;
int i=0;
// Parser le fichier
while (st.hasMoreTokens())
{
token = st.nextToken();
String word = st.sval;
if(word.startsWith("section") )
{
// ???????
}
}
rd.close();
} catch (IOException e) {}
}
public static void main (String args[])
{
Terminal.ecrireString("Entrer le nom du fichier à afficher: ");
String nom = Terminal.lireString();
affiche(nom);
}
} |