question philosophique (?) [Java] - Programmation
Marsh Posté le 06-02-2002 à 11:34:56
J'ai pas trop l'habitude de faire en condensé, mais je pense que le for aime pas trop la , avant le int i = 0. Et je vois pas pourquoi tu colles 46000 arguments... Je trouve pas ca tres propre.
Marsh Posté le 06-02-2002 à 11:41:12
en fait, au début, ça ne devait pas être ôssi compliqué
et pis j'ai rajouté des trucs au fur et à mesure...
là j'ai viré ce code de ouf (beaucoup trop compliqué ) par un qui fonctionne (substring).
en fait, il râle sur la , il demande un ;
je ne cromprends pas pq... je me demande si ce n'est pas parce que je fais une déclaration et une initialisation en même temps...
[edtdd]--Message édité par TBone--[/edtdd]
Marsh Posté le 06-02-2002 à 11:43:49
Je verrais plutôt ca (à moins que se soit faux):
StringTokenizer sToken = new StringTokenizer(aString, "/" );
int nbToken=sToken.countTokens()
int i;
for(i=0 ; i < nbToken ; i++){
sToken.nextToken(); }
System.out.println("Last token is: " + sToken.nextToken());
Marsh Posté le 06-02-2002 à 12:40:36
j'avais fait ça aussi... mais mon substring se fait en une ligne... et est quand même plus simple à lire pour comprendre ce que je fais...
String substring = currentPageID.substring(currentPageID.lastIndexOf("/" ) + 1);
je ne sais pas pourquoi j'ai bondi sur le StringTokenizer
Marsh Posté le 06-02-2002 à 12:44:02
TBone a écrit a écrit : pourquoi ne peux-je écrire ça : for(StringTokenizer sToken = new StringTokenizer(aString, "/" ), int i=0, int nbToken=sToken.countTokens(); i < nbToken; i++; sToken.nextToken()){} System.out.println("Last token is: " + sToken.nextToken()); (il râle sur int i = 0) j'ai trouvé une façon de faire + rapide (je crois) avec un substring à partir d'un lastIndexOf("/" ); mais c'est pour ma culture générale. merci |
.
a la base, for(; a seulement 2 ";" le tien en a 3!
et puis de toute facon ce code est vraiment illisible
[edtdd]--Message édité par veryfree--[/edtdd]
Marsh Posté le 06-02-2002 à 13:27:17
c'est en retapant le code ici que j'ai mis le 3ème apparemment.
mais tu as raison, c'est complètement illisible. (ça me rappelle du code C que mon prof nous refilait en interro pour qu'on lui dise ce que ça faisait. )
Marsh Posté le 06-02-2002 à 15:11:42
Sinon, y'avait aussi :
String last = null;
for (StringTokenizer st = new StringTokenizer(args[0], "/" );
st.hasMoreTokens(); last = st.nextToken()) {
}
System.out.println("Last token is: "+last) ;
Ton bout de code, en plus, il pose problème, pasque le StringTokenizer n'est pas connu en dehors du for, donc, ta dernière ligne aurait planté à la compilation....Mais bon, c clair qu'il vaut sans doute mieux faire avec le lastIndexOf....Ou alors, adns le cas précis du "/" comme séparateur, regarder les méthodes de la classe File!!
Marsh Posté le 06-02-2002 à 17:06:04
gfive> très juste !
le "/" est effectivement utilisé dans un contexte de fichiers mais un peu plus complexe car c'est une image d'un chemin logique et gnagnagna (techno interne dans ma boîte )
beh donc ça marche maintenant les gars! merci!
au fait, pour rester dans la philosophie:
pouquoi dit-on que "String args []" c'est le même que "String [] args" ? Je suis persuadé qu'il existe une différence étant donné que cela s'écrit de 2 manières différentes... mais je ne trouve pô...
Marsh Posté le 06-02-2002 à 18:23:25
non je pense qu'il y a pas de différence. C'est pour garder les habitude des vieux programateurs C qu'ils ont laissé la 2e façon de l'écrire.
Perso je trouve que le String[] args est bien plus logique : on voit tout de suite que le type de args est 'String[]'
Marsh Posté le 07-02-2002 à 08:33:52
c'est ce que j'écris toujours...
Marsh Posté le 06-02-2002 à 11:22:20
pourquoi ne peux-je écrire ça :
for(StringTokenizer sToken = new StringTokenizer(aString, "/" ), int i=0, int nbToken=sToken.countTokens(); i < nbToken; i++; sToken.nextToken()){}
System.out.println("Last token is: " + sToken.nextToken());
(il râle sur int i = 0)
j'ai trouvé une façon de faire + rapide (je crois) avec un substring à partir d'un lastIndexOf("/" ); mais c'est pour ma culture générale.
merci
---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.