[PROJET2] Une petite aide les amis !!

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

[PROJET2] Une petite aide les amis !!

Message  jayrko le Ven 25 Avr 2008, 14:17

Yop les amis de la forêt!

ALors voilà j'ai une petite question.
J'aimerai récuperer un nombre au clavier, mais en limiter le choix : je m'explique par un exemple.
Pour limiter une chaine :
String s = clavier .next(" [\\+\\−\\/] " );
Pour limiter un nombre ???
int nb = clavier.nextInt();
==> je vois pas quoi mettre, par exemple je veux limiter à ce qu'on puisse rentrer que les entiers de 1 à 20.

Voilà si quelqu'un à une tite solution ça m'aiderai vachement Wink

jayrko

Nombre de messages : 89
Age : 29
Prénom : NiCoo
Statut : etudiant
Localisation : WAterloo
Date d'inscription : 19/01/2007

Revenir en haut Aller en bas

Re: [PROJET2] Une petite aide les amis !!

Message  LSV le Ven 25 Avr 2008, 14:34

bah...

Code:

lire nombreLu;

if(nombreLu<0 || nombreLu>20){
  //relire un nombre;
}


?

sans doute mieux:
Code:


lire nombreLu

while(nombreLu<0 || nombreLu>20){
    lire nombreLu;
}


^^


Dernière édition par LSV le Ven 25 Avr 2008, 14:36, édité 1 fois

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: [PROJET2] Une petite aide les amis !!

Message  Wark le Ven 25 Avr 2008, 14:36

Code:

int nombrelu;
nombrelu = xx ;
while(nombrelu < premiereborne || nombrelu > deuxiemeborne){
lirenombre;
}

Edit : Do .. While devrait mieux s'en tirer même. 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: [PROJET2] Une petite aide les amis !!

Message  LSV le Ven 25 Avr 2008, 14:37

Wark a écrit:
Code:

int nombrelu;
nombrelu = xx ;
while(nombrelu < premiereborne || nombrelu > deuxiemeborne){
lirenombre;
}

Edit : Do .. While devrait mieux s'en tirer même. Smile

jtai grillé (h)

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: [PROJET2] Une petite aide les amis !!

Message  Wark le Ven 25 Avr 2008, 14:42

LSV a écrit:
Wark a écrit:
Code:

int nombrelu;
nombrelu = xx ;
while(nombrelu < premiereborne || nombrelu > deuxiemeborne){
lirenombre;
}

Edit : Do .. While devrait mieux s'en tirer même. Smile

jtai grillé (h)

J'avoue .. Je suis ralenti par le cours Sad

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: [PROJET2] Une petite aide les amis !!

Message  jayrko le Ven 25 Avr 2008, 14:46

ouais mais me dite pas que clavier.next ne gère pas un bête truc comme :s

jayrko

Nombre de messages : 89
Age : 29
Prénom : NiCoo
Statut : etudiant
Localisation : WAterloo
Date d'inscription : 19/01/2007

Revenir en haut Aller en bas

Re: [PROJET2] Une petite aide les amis !!

Message  LSV le Ven 25 Avr 2008, 14:52

3 lignes de codes vont pas tuer non plus Very Happy

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: [PROJET2] Une petite aide les amis !!

Message  LSV le Ven 25 Avr 2008, 15:00

Sinon, peut etre que limiter les données acceptable comme pour ton
String s = clavier .next(" [\\+\\−\\/] " );

et caster en INT pourrait marcher? je sais pas, mais jpense que cest plus du chipotage, un bete ptit while (ou do while comme l'a dit wark...) fonctionne très bien et fait exactement ce qu'il faut ^^.


Sur ce, jvais un peu jouer a GTA 4 :sol:

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: [PROJET2] Une petite aide les amis !!

Message  pbt le Ven 25 Avr 2008, 15:02

Un truc du syle (à vérifier donc) ...
Je lit tant que je n'obtiens pas une chaine composée de chiffres. Quand c'est le cas je regarde si le nombre formé par ces chiffres se trouve bien dans l'intervalle donné.

On pourrait le faire en utilisant une regex mais c'est plus compliqué et moi lisible. En plus, voici une belle illustration du do while.

Code:
String s ;
int i =0 ;

do {
  do {
    s = clavier.nextLine().trim() ;
  } while ( !(s.matches("\d+")) ) ;
  i=Integer.parseInt(s) ;
}  while ( i<1 || i>20 )  ;     
System.out.println("Lu:  "  + i); 



Édité, je ne suis pas le plus rapide sur ce coup (peut-être le plus complet) ... pom pom pom.

_________________
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: [PROJET2] Une petite aide les amis !!

Message  pbt le Ven 25 Avr 2008, 15:06

jayrko a écrit:ouais mais me dite pas que clavier.next ne gère pas un bête truc comme :s
Bien sur qu'il le gère ... mais ce n'est pas la bonne méthode à mon sens (on peut en dicuter et en disconvenir). Pour ma part --comme je le répète à mes étudiants-- je préfère lire d'office une ligne lorsque je demande à l'utilisateur une entrée préformatée. Je lis la ligne car je sais que l'utilisateur n'entre "jamais" la chaine sous le format demandé. Ensuite, je regarde si la chaine à la bonne forme, si je peux en extraire les informations dont j'ai besoin. Si c'est le cas, je sors de mon (mes) do while.

_________________
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: [PROJET2] Une petite aide les amis !!

Message  Contenu sponsorisé Aujourd'hui à 21:04


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