[Java] Projet 1

Page 1 sur 4 1, 2, 3, 4  Suivant

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

[Java] Projet 1

Message  mcd le Mer 21 Jan 2009, 19:07

Certains d'entre-vous l'ont déjà remarqué, le projet 1 est sorti !
Plus d'info ici.
Votre professeur vous l'expliquera lors de votre 2ème TD.

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: [Java] Projet 1

Message  Jhon le Mer 21 Jan 2009, 21:51

Et voilà déjà la première question, qui vous paraîtra certainement triviale, mais bon... Embarassed

Concerne : la méthode main de la classe Main
Ce que je crois avoir compris : lorsque l'utilisateur tappera, par exemple, "smssender add jhon 3165831358", grâce à l'alias, c'est le main en question qui va être lancé, en recevant en paramètres "add", "jhon" et "3165831358". Le main va stocker ces paramètres dans le tableau args[], et nous devons donc coder la partie qui va déterminer quel argument a été envoyé, afin d'appeler la méthode correspondante. Ça, c'est que j'ai compris en embêtant déjà notre cher Pbt en labo tantôt avec mes questions, mais un problème se pose : le plus simple est pour moi d'utiliser un switch pour déterminer quelle méthode on appelle, par exemple comme ceci:
Code:
switch(args[0])
{
  case 'add' : addAndExit(args[1],args[2]); break;
  case 'delete' : deleteAndExit(args[1]); break;
  //etc pour chaque argument
  case default : usageAndExit(); break;
}

Le problème n°1 : ...mais je sentais qu'un truc clochait, et après une courte recherche j'ai trouvé : switch ne peut tester la valeur que d'un char, un byte, un short ou un int. On pourrait très bien changer notre args[0] en char et ne traiter que la première lettre (sauf erreur, tous nos arguments sont différents donc on aurait 's' pour "send", 'a' pour "add", et ainsi de suite), mais bonjour l'erreur si l'utilisateur se trompe (et tappe "sadd" ou n'importe quoi, ce qui devrait déclencher usageAndExit et pas sendAndExit)... Alors quoi ? On fait des if imbriqués ? Shocked

Le problème n°2 : ...n'est pas un problème, juste un doute : si l'utilisateur n'a pas mis d'arguments, càd que args[0] est null, ça va générer une exception non ? Mais bon ça il suffit de mettre un petit if(args[0]!=null) devant le switch, je verrai bien en testant si ça passe ou pas, c'est juste que ça va plus vite de poser la question Embarassed

En espérant être compréhensible - et merci d'avance,

Jhon

Jhon

Nombre de messages : 212
Age : 28
Prénom : Jonathan
Statut : promo réseaux 2012
Localisation : 50.879858N,4.34801E
Date d'inscription : 23/09/2008

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  Wark le Mer 21 Jan 2009, 22:11

Le souci ressemblant au projet shop de l'année dernière, je peux te dire, sans hésiter qu'une solution se trouve ici :

http://www.siteduzero.com/forum-83-1474-p1-java-switch.html

Maintenant, je ne te dis pas où ni laquelle (plusieurs peuvent fonctionner, à toi de choisir la plus belle à ton sens Wink )

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: [Java] Projet 1

Message  mcd le Mer 21 Jan 2009, 22:35

Des if-else imbriqués c'est très bien.
Pour l'autre question, il faut savoir qu'il y a une différence entre un tableau null et un tableau vide.
Quand on ne donne pas d'argument, il y a un nombre d'argument = 0 mais ce n'est pas null.

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: [Java] Projet 1

Message  pbt le Jeu 22 Jan 2009, 08:50

mcd a écrit:Pour l'autre question, il faut savoir qu'il y a une différence entre un tableau null et un tableau vide.
Quand on ne donne pas d'argument, il y a un nombre d'argument = 0 mais ce n'est pas null.
Il est donc maintenant clair qu'il faut tester la taille dudit tableau d'arguments.

_________________
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: [Java] Projet 1

Message  sphere le Jeu 22 Jan 2009, 17:34

le constructeur de la classe "Config" est il bien priver ?

edit:
quel est le format valide d'un numéro de téléphone ?

sphere

Nombre de messages : 75
Age : 29
Prénom : Derek
Statut : g30592
Localisation : Bruxelles
Date d'inscription : 02/10/2007

http://www.sgcb.be

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  Jhon le Jeu 22 Jan 2009, 19:31

Quand on ne donne pas d'argument, il y a un nombre d'argument = 0 mais ce n'est pas null.
Ah ok, voilà l'astuce que j'oubliais, merci Smile

Des if-else imbriqués c'est très bien
Erf, heureusement qu'il y a pas plus de "commandes" possibles ^^ Merci !

quel est le format valide d'un numéro de téléphone ?
"valide" je suppose que c'est celui demandé par Clickatell (probablement sans / ni . mais avec +32, mais j'ai pas encore vérifié). Mais comme on le sait, l'utilisateur fait jamais ce qu'on aimerait qu'il fasse donc il faudra prévoir également les cas avec / et . entre les chiffres. Smile

Jhon

Nombre de messages : 212
Age : 28
Prénom : Jonathan
Statut : promo réseaux 2012
Localisation : 50.879858N,4.34801E
Date d'inscription : 23/09/2008

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  clr le Jeu 22 Jan 2009, 20:56

Un numéro de téléphone est valide s'il commence par "+" suivi de 11 chiffres ou s'il a 9 chiffres.
Vous pouvez aussi penser à retirer les caractères '\', les '.' et les espaces avant de vérifier le nombre de chiffres... Smile

clr

Nombre de messages : 1904
Prénom : C
Date d'inscription : 19/11/2006

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  pbt le Ven 23 Jan 2009, 11:22

clr a écrit:Un numéro de téléphone est valide s'il commence par "+" suivi de 11 chiffres ou s'il a 9 chiffres.
Vous pouvez aussi penser à retirer les caractères '\', les '.' et les espaces avant de vérifier le nombre de chiffres... Smile

Et vous pouvez aussi penser aux expressions régulières.




_________________
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: [Java] Projet 1

Message  vinise le Sam 24 Jan 2009, 15:35

Voici quelques autre petite constatations:

pour la class "Main":

Dans l'intitulé du projet il est indiqué :"Cette classe contiendra la méthode main composée de toute une série de méthodes privées
et statiques correspondant à chaque action" et, dans le diagramme des class aucune méthode n'est en statique est-ce normal?

pareillement pour les attribut de cette même class... ne devraient-elle pas être statiques?

vinise

Nombre de messages : 30
Age : 28
Prénom : Vincent
Statut : Dit "plomé"
Localisation : bruxelles
Date d'inscription : 20/09/2008

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  pbt le Sam 24 Jan 2009, 17:12

vinise a écrit:Voici quelques autre petite constatations:

pour la class "Main":

Dans l'intitulé du projet il est indiqué :"Cette classe contiendra la méthode main composée de toute une série de méthodes privées
et statiques correspondant à chaque action" et, dans le diagramme des class aucune méthode n'est en statique est-ce normal?

pareillement pour les attribut de cette même class... ne devraient-elle pas être statiques?

S'ils sont soulignés dans le diagramme de classes cela veut dire qu'ils sont statiques.

_________________
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: [Java] Projet 1

Message  vinise le Sam 24 Jan 2009, 17:39

oki oki merci bien...

encore une petite question
quand je veut lancer une SMSSenderExceptionest-ce normal que je doive rajouter "throws SMSSenderException" en début de méthode?

vinise

Nombre de messages : 30
Age : 28
Prénom : Vincent
Statut : Dit "plomé"
Localisation : bruxelles
Date d'inscription : 20/09/2008

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  nvs le Sam 24 Jan 2009, 18:55

vinise a écrit:quand je veut lancer une SMSSenderExceptionest-ce normal que je doive rajouter "throws SMSSenderException" en début de méthode?
si par en début de méthode tu veux dire après la parenthèse fermante indiquant la fin de la liste des paramètres mais avant l'accolade ouvrante marquant le début du corps de la méthode, la réponse est oui Smile
Code:
void brol() throws TrucException {
    ...
    ... throw new TrucException(...);
    ...
}




_________________

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: [Java] Projet 1

Message  mcd le Sam 24 Jan 2009, 18:57

Si ton exception étend Exception, oui !
Si elle étend RuntimeException, non !
Tout cela sera précisé au cours dans la leçon sur les exceptions qui va suivre celle sur l'OO.

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: [Java] Projet 1

Message  nvs le Sam 24 Jan 2009, 19:13

mcd a écrit:Si ton exception étend Exception, oui !
Si elle étend RuntimeException, non !
voila une réponse plus complète et plus précise que la mienne Smile





_________________

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: [Java] Projet 1

Message  vinise le Sam 24 Jan 2009, 22:09

Une dernière petite question..
la méthode sendAndExit n'a qu'un seul paramètre "type" de type String ... qu'est ce que sa représente exactement??
car pour moi on a besoin du contenu du sms et du (ou des) destinataire...

vinise

Nombre de messages : 30
Age : 28
Prénom : Vincent
Statut : Dit "plomé"
Localisation : bruxelles
Date d'inscription : 20/09/2008

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  pbt le Sam 24 Jan 2009, 23:49

vinise a écrit:Une dernière petite question..
la méthode sendAndExit n'a qu'un seul paramètre "type" de type String ... qu'est ce que sa représente exactement??
car pour moi on a besoin du contenu du sms et du (ou des) destinataire...

Type représente "list" ou un numéro de téléphone ou un nick. Il est clair qu'il faudra demander quel texte envoyer comme SMS ensuite.

_________________
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: [Java] Projet 1

Message  vinise le Dim 25 Jan 2009, 11:23

PbT a écrit:Il est clair qu'il faudra demander quel texte envoyer comme SMS ensuite.

c'est ce que j'ai penser pour commencer mais en voyant les exemples d'utilisation j'ai un petit probleme...


Code:
echo "Bon appétit, je t'aime" | smsender send elle

pour récupérer ce "Bon appétit, je t'aime" il suffit d'utiliser un nextLine mais malheureusement je suis obliger de le mettre dans la méthode main sinon cela ne fonctionne pas... normal?

(d'ailleurs il me semble que appétit prend 2 p...)


Dernière édition par vinise le Dim 25 Jan 2009, 18:42, édité 2 fois

vinise

Nombre de messages : 30
Age : 28
Prénom : Vincent
Statut : Dit "plomé"
Localisation : bruxelles
Date d'inscription : 20/09/2008

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  JojO le Dim 25 Jan 2009, 17:25

langage sms tu connais pas ? =p

JojO

Nombre de messages : 36
Age : 28
Prénom : Geoffrey
Date d'inscription : 24/10/2007

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  vinise le Dim 25 Jan 2009, 18:40

lol bien sur

ps je retire ce que j'ai dit plus tôt sa fonctionne parfaitement c'est moi qui avais une erreur ailleurs....

pour ma pare projet fini Sad

vinise

Nombre de messages : 30
Age : 28
Prénom : Vincent
Statut : Dit "plomé"
Localisation : bruxelles
Date d'inscription : 20/09/2008

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  Wark le Dim 25 Jan 2009, 20:18

vinise a écrit:lol bien sur

ps je retire ce que j'ai dit plus tôt sa fonctionne parfaitement c'est moi qui avais une erreur ailleurs....

pour ma pare projet fini Sad

Tant mieux... Tu ne rigoleras pas autant pour la suite Razz

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: [Java] Projet 1

Message  vinise le Lun 26 Jan 2009, 08:15

bin j'ai pas tant rigolé j'ai plus sut me lever pendent 2 semaine... fallait bien que je fasse quelque chose... lol! lol! lol!

vinise

Nombre de messages : 30
Age : 28
Prénom : Vincent
Statut : Dit "plomé"
Localisation : bruxelles
Date d'inscription : 20/09/2008

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  sphere le Mar 27 Jan 2009, 21:14

dans la classe "MockSMSSender" a la méthode public boolean send (SMS sms, Map<String,Recipient> recipients) throws SMSSenderException
ne peut ton pas remplacer "Map<String,Recipient> recipients" par RecipientList recipients ?

sphere

Nombre de messages : 75
Age : 29
Prénom : Derek
Statut : g30592
Localisation : Bruxelles
Date d'inscription : 02/10/2007

http://www.sgcb.be

Revenir en haut Aller en bas

Re: [Java] Projet 1

Message  mcd le Mar 27 Jan 2009, 22:50

Dans l'absolu on pourrait. On pourrait même recevoir une List<Recipient>. Tous ces choix se défendent.
Mais bon ! L'énoncé est ainsi fait et il faut le respecter.
Si tu veux faire autrement, il faut en parler à ton professeur et lui demander son accord Smile

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: [Java] Projet 1

Message  pbt le Mer 28 Jan 2009, 08:35

sphere a écrit:dans la classe "MockSMSSender" a la méthode public boolean send (SMS sms, Map<String,Recipient> recipients) throws SMSSenderException
ne peut ton pas remplacer "Map<String,Recipient> recipients" par RecipientList recipients ?

Ce serait effectivement mieux ... mais "l'énoncé est ainsi fait (bla bla) demander à ton professeur (bla bla)".

Si j'avais relu plus attentivement j'aurais peut-être changé ce point ;-) ... mais rien de grave.



_________________
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: [Java] Projet 1

Message  Contenu sponsorisé Aujourd'hui à 08:45


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 4 1, 2, 3, 4  Suivant

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