[LAJ1] Petites questions de finalisation sur le projet 1

Voir le sujet précédent Voir le sujet suivant Aller en bas

[LAJ1] Petites questions de finalisation sur le projet 1

Message  Wark le Mer 06 Fév 2008, 19:33

Bonsoir,

Le gros du travail étant fait, je me met à la finalisation pour faire "joli" ou "bien" c'est selon ...

Des petites questions que je me suis posées (totalement idiotes mais, comme je l'ai dit, pour faire "bien") sont les suivantes :

- Si j'entre "shop new Pommes Description", quelle taille maximale peut avoir la description ? (C'est assez important car, à part en me basant sur la taille maximale du tableau args, je n'ai pas trouvé d'autre moyen de trier les options possibles).

Un exemple en clair :

Si j'entre :

Code:
shop new Pommes "Pommes Braeburn à la belle couleur rouge et peut-être un peu verte voire brun mais alors elles ne sont plus bonnes !"


Il va de soi que la taille de mon tableau n'est que de 3 et que je peux le gèrer de la même manière que si j'avais entré :


Code:
shop new Pommes Vertes


(Une case action, une case mnemonic, une case description).. Mais je me suis dit que insèrer des guillemets pour un utilisateur pouvait être fort inconfortable ... Du coup, j'ai pensé à .. gèrer éventuellement ce cas extrême où l'utilisateur entrerait une longue description (ce pourrait être n'importe quoi, malheureusement) et ce, sans devoir insèrer des guillemets !

Je viens faire ma demande ici car je sais que ... si je vais y penser, je vais vouloir "améliorer" ce projet qui me semble simple et finir par perdre pas mal de points sur le fait que ça n'ait pas été suffisament bien pensé.

(D'ailleurs, je cherche pas mal une autre manière de gèrer les options entrées au clavier autrement qu'avec un switch et la taille du tableau d'arguments .. )

Merci de me dire si c'est long à lire, chiant ou stupide. Very Happy

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  pbt le Mer 06 Fév 2008, 21:22

Si je regarde dans Java Language Specification p432, je vois que la taille d'un tableau est de type int. Si je fait comme hypohtèse que args ne déroge pas à la règle, j'imagine que je peux mettre 4294967295 arguments sur ma ligne de commande ... ça c'est pour Java, il faudrait voir ce que supporte bash ou autre interprêteur de commande.

Pour ma part, j'en reste là, c'est suffisant pour moi même s'il veut décrire ces pommes en profondeur, l'utilisateur peut y aller.

Les septiques et autres Saint-Thomas voudront voir. Ils écriront un programme du style
Code:
public class Args {
    public static void main ( String[] args ) {
       System.out.println("Dernier argument: " + args[args.length-1]);
    }
}
qu'ils testeront ... les fainéants écriront un "script" permettant de générer les 4 milliards d'arguments. Ceci devrait faire l'affaire
Code:
java Args `for ((i=0; i<4294967295; i++)) ; do echo $i ; done`

Il reste à laisser tourner la "chose". Pour info rien que générer les nombres de 0 à 8 millions prend plus de 15 minutes ... j'ai abandonné ;-) ... mais si quelqu'un fait le teste, ça m'intéresse de savoir combien de temps ça prend :-)

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  nvs le Mer 06 Fév 2008, 21:27

PbT a écrit:Pour info rien que générer les nombres de 0 à 8 millions prend plus de 15 minutes ... j'ai abandonné ;-) ... mais si quelqu'un fait le teste, ça m'intéresse de savoir combien de temps ça prend :-)
ça ne dépend pas de la machine cyclops

_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  Wark le Mer 06 Fév 2008, 22:23

PbT a écrit:Si je regarde dans Java Language Specification p432, je vois que la taille d'un tableau est de type int. Si je fait comme hypohtèse que args ne déroge pas à la règle, j'imagine que je peux mettre 4294967295 arguments sur ma ligne de commande ... ça c'est pour Java, il faudrait voir ce que supporte bash ou autre interprêteur de commande.

Pour ma part, j'en reste là, c'est suffisant pour moi même s'il veut décrire ces pommes en profondeur, l'utilisateur peut y aller.

Les septiques et autres Saint-Thomas voudront voir. Ils écriront un programme du style
Code:
public class Args {
    public static void main ( String[] args ) {
       System.out.println("Dernier argument: " + args[args.length-1]);
    }
}
qu'ils testeront ... les fainéants écriront un "script" permettant de générer les 4 milliards d'arguments. Ceci devrait faire l'affaire
Code:
java Args `for ((i=0; i<4294967295; i++)) ; do echo $i ; done`

Il reste à laisser tourner la "chose". Pour info rien que générer les nombres de 0 à 8 millions prend plus de 15 minutes ... j'ai abandonné ;-) ... mais si quelqu'un fait le teste, ça m'intéresse de savoir combien de temps ça prend :-)

Merci monsieur.

Mais dès lors ... Comment gèrer de manière simple et non .. scabreuse (enchainement de if-else if-else et autres switch) les divers arguments fournis en paramètre ? Est-ce là la seule manière ?

Je fais actuellement des recherches via mon cher ami Google mais personne n'a l'air d'expliquer comment gèrer une situation aussi simple. (En regardant le projet1 de l'année passée, il propose le package jargs, mais celui-ci ne m'arrange pas vu qu'il ne s'agit pas d'option à propremement parler mais bien de "commandes").

Bref, même si une solution très bête et simple de if existe, j'aimerais savoir si une autre manière de voir et surtout de coder cette situation est envisageable ?

Ps : je possède une version très fonctionnelle avec ces IF, ça n'est donc uniquement que pour la beauté du code et pa souci "d'optimisation" Smile

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  mcd le Mer 06 Fév 2008, 23:25

Wark a écrit:je possède une version très fonctionnelle avec ces IF, ça n'est donc uniquement que pour la beauté du code et pa souci "d'optimisation" Smile
Une solution avec des IF doit effectivement être très laide.
Surtout qu'on s'en sort facilement avec une simple boucle... prends ta tête à 2 mains et un peu de recul; respire un bon coup et ça devrait te sembler évident...

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  Wark le Jeu 07 Fév 2008, 10:59

mcd a écrit:Une solution avec des IF doit effectivement être très laide.
Surtout qu'on s'en sort facilement avec une simple boucle... prends ta tête à 2 mains et un peu de recul; respire un bon coup et ça devrait te sembler évident...

Très juste .. mais pour ma défense, j'ai une grosse tête et de petites mains... Razz

Je m'en vais finaliser tout cela, merci Very Happy

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

[LAJ1] porjet1

Message  john le Jeu 07 Fév 2008, 12:13

un bonjour a tous,

j'ai un petit problème dans la main, pour faire l'action new, il faut mettre public void newAndExit(...){..} ou pas? parce que si c'est comme ça j'ai un problème à ma compilation (ilegal start of expresion) public void newAndExit(...){..}
^

c'est un truc tres simple mais je ne sais pas comme le résoudre. Laughing
pouvez vous m'aider avec ça?

john

Nombre de messages : 64
Prénom : john
Statut : 2ème Reseaux
Date d'inscription : 25/11/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  Wark le Jeu 07 Fév 2008, 12:44

john a écrit:un bonjour a tous,

j'ai un petit problème dans la main, pour faire l'action new, il faut mettre public void newAndExit(...){..} ou pas? parce que si c'est comme ça j'ai un problème à ma compilation (ilegal start of expresion) public void newAndExit(...){..}
^

c'est un truc tres simple mais je ne sais pas comme le résoudre. Laughing
pouvez vous m'aider avec ça?

Code:
public static void newAndExit(..){..}

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  yoda le Jeu 07 Fév 2008, 12:47

PbT a écrit:Il reste à laisser tourner la "chose". Pour info rien que générer les nombres de 0 à 8 millions prend plus de 15 minutes ... j'ai abandonné ;-) ... mais si quelqu'un fait le teste, ça m'intéresse de savoir combien de temps ça prend :-)
ca finis juste comme cela :
Code:
yoda@saturne:~$ time java Args `for ((i=0; i<4294967295; i++)) ; do echo $i ; done`
-bash: xrealloc: ../bash/subst.c:4425: cannot reallocate 1073741824 bytes (0 bytes allocated)
Connection to 192.168.23.6 closed.
donc pas de temps a donne ...

yoda

Nombre de messages : 1119
Age : 33
Prénom : Antoine
Statut : Ancien
Localisation : Bruxelles
Date d'inscription : 17/12/2006

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  john le Jeu 07 Fév 2008, 15:38

Wark a écrit:
john a écrit:un bonjour a tous,

j'ai un petit problème dans la main, pour faire l'action new, il faut mettre public void newAndExit(...){..} ou pas? parce que si c'est comme ça j'ai un problème à ma compilation (ilegal start of expresion) public void newAndExit(...){..}
^

c'est un truc tres simple mais je ne sais pas comme le résoudre. Laughing
pouvez vous m'aider avec ça?

Code:
public static void newAndExit(..){..}


salut,

j'ai toujour le même problème, pourquoi j'ai un ilegal start of expression, j'ai tout bien avec mes }

john

Nombre de messages : 64
Prénom : john
Statut : 2ème Reseaux
Date d'inscription : 25/11/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  mcd le Jeu 07 Fév 2008, 18:09

Impossible de trouver nous même le problème dans ton code sans le voir (et à priori ne le montre pas).
Mais en général quand on a un problème de "illegal start of expression" en début d'une ligne, il manque qqchose à la fin de la ligne précédente.

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  LSV le Jeu 07 Fév 2008, 18:11

moi je dis qu'il manque un point virgule ou une fermeture d'accolade Smile

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  Jean le Ven 08 Fév 2008, 00:59

J aurais une petit question,si je comprend bien le role de la methode readFavorites(),ces de lire dans le fichier
favoris et de retourner une liste de se que contient se fichier?

Jean

Nombre de messages : 98
Date d'inscription : 17/12/2006

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  mcd le Ven 08 Fév 2008, 11:35

En gros oui Smile
Mais pour être plus précis, la javadoc qui l'accompagne te dit EXACTEMENT ce qui est renvoyé (quel type).

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  pbt le Ven 08 Fév 2008, 11:52

yoda a écrit:ca finis juste comme cela :
Code:
yoda@saturne:~$ time java Args `for ((i=0; i<4294967295; i++)) ; do echo $i ; done`
-bash: xrealloc: ../bash/subst.c:4425: cannot reallocate 1073741824 bytes (0 bytes allocated)
Connection to 192.168.23.6 closed.
donc pas de temps a donne ...
C'est donc bash qui nous impose une limite dans ce cas ... mais on peut quand même envisager une description de l'ordre du milliard de mots ... ce qui semble une limite acceptable.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  john le Ven 08 Fév 2008, 14:16

bonjour a tous,
j'ai une petite question, avec la main, on a la mèthode FavoritesAndEXit(); pour afficher à l'écran j'utilise la mèthode display(Map<String,Article> favori){..}
, de favoritesList.
donc, j'ai deja créé ma FavoritesList favoris= new Favorites ();

pour utiliser dans la main,je dois faire comme ça ou pas?
favoris.display();

je pense que je dois mettre quelquel chose en paramètre avec display(..), pouvez m'aider avec ça?

john

Nombre de messages : 64
Prénom : john
Statut : 2ème Reseaux
Date d'inscription : 25/11/2007

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  mcd le Ven 08 Fév 2008, 14:52

Si tu lis bien le diagramme de classes fourni avec l'énoncé, tu verras que la méthode display() n'a pas de paramètre !
A partir de là, essaie de comprendre ce qui ne va pas avec ta façon de procéder... Wink

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  pbt le Sam 09 Fév 2008, 08:33

john a écrit:bonjour a tous,
...
je pense que je dois mettre quelquel chose en paramètre avec display(..), pouvez m'aider avec ça?
Relis bien quelles sont les différences entre une méthode et un fonction (méthode statique). De plus comme le signale mcd, le diagramme de classe précise qu'il n'y a pas de paramètre à la méthode (oops je l'ai dit) display.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Petites questions de finalisation sur le projet 1

Message  Contenu sponsorisé Aujourd'hui à 01:06


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum