StringTokenizer, ou est le problem ? :/ - Java - Programmation
Marsh Posté le 13-04-2004 à 09:21:31
lire le message d'erreur? Tu essaies d'ajouter un entier (int) dans une arraylist.
Enlève le Integer.parseInt
Marsh Posté le 13-04-2004 à 09:22:43
xiluoc a écrit : |
http://java.sun.com/j2se/1.4.2/doc [...] ng.String)
Il faut utiliser un Interger et pas un int quand tu veux un Object.
Marsh Posté le 13-04-2004 à 09:23:54
DarkLord a écrit : lire le message d'erreur? Tu essaies d'ajouter un entier (int) dans une arraylist. |
ouai je viens de tester comme ca : scoresData.add(st.nextToken());
mais sa prend le premier morceau : le nom.
je voudrais seulement la 2ieme partie : le score.
scoresData.add(st.nextToken(st.nextToken()));
ne marche pas.
Marsh Posté le 13-04-2004 à 09:28:07
et bien tu lis la doc parceque java < 1.5 fait pas d'auto-boxing, faut donc que tu lui donne un Integer et pas un int
Marsh Posté le 13-04-2004 à 09:32:26
oui j ai vu ca, ca marche maintenant.
hum je pense que si je fais
Code :
|
ca vas marcher =)
edit :
mais si jai une ligne de 15 token et que je veus le 8 ieme ? je serai donc obliger ne mettre un compteur ?
edit : arf j avais mis une annerie
Marsh Posté le 13-04-2004 à 09:35:10
xiluoc a écrit : |
pour avoir le deuxieme ...
st.nextToken(); scoresData.add(st.nextToken());
Marsh Posté le 13-04-2004 à 09:35:58
essaie déjà de ne pas faire 30 choses différentes dans la meme instruction. Essaie de découper ce que tu dois faire en plusieurs méthodes.
Marsh Posté le 15-04-2004 à 11:59:38
darklord a écrit : essaie déjà de ne pas faire 30 choses différentes dans la meme instruction. Essaie de découper ce que tu dois faire en plusieurs méthodes. |
Moi je ferais une classe Parser qui :
Avec ça tu peux trier la liste de retour (méthode sort() qui prend un Comparator) par ordre décroissant sur les score. L'élément 0 de la liste est l'objet nom/score qui contient le score le plus grand (et tu as même le nom avec).
Marsh Posté le 15-04-2004 à 12:02:19
Ca ne sert a rien de stocker tout les scores dans une liste pour ensuite chercher le plus grand.
Il suffit juste de stocker le max et de verifier ensuite a chaque ligne si le score acteullement lu est plus grand que le score max stocké.
Marsh Posté le 15-04-2004 à 12:16:15
S'il se contente de sortir le score max et que plus tard il a aussi besoin du nom il faudra réanalyser le fichier (et dupliquer le code).
Là c'est fait une fois et il a toutes les infos dont il a besoin et dont il aura peut-être besoin.
Il vaut mieux séparer les tâches.
Marsh Posté le 15-04-2004 à 13:42:01
Pour ton info il est mieux d'utiliser la fonction split que la fonction StringTokeniser tel que spécifié dans l'API :
"StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead."
Marsh Posté le 13-04-2004 à 09:13:24
,
j ai le fichier suivant :
je veus recuperer le meileur score du fichier.
pour cela mon idee serait de prendre tout les chiffre , les mettre dans arraylist et en ressortir le plus grand.
la ou sa coince c est pour mettre les chiffres dans l ArrayList
voila ce que j ai fais :
comment pourai je faire ??
merci.