[LAJ1] recup une suite de nombres [TD6]

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

resolu [LAJ1] recup une suite de nombres [TD6]

Message  Aftab007 le Dim 25 Oct 2009, 13:51

Bonjour ,

voilà je suis entrain de faire l' exercice sur les nombres premiers ,
J' ai reussir a voir si mon nombre premier est bien premier ou non .

je pensse aussi a avoir réussi a recupérer tous les nombres premiers jusqu a un certains nombres limite ( recu en paramètre)

Mais quand justement je fait appel a cette methode dans mon main qui m' enumère tous les nombres ,
hé bien à la compilation il me sort sa =>


aftab@ubuntu:~$ javac NombrePremiers.java
NombrePremiers.java:14: 'void' type not allowed here
System.out.println(suitePremier(nombre));
^
1 error



Code:

   public static void suitePremier(int nbr){

      for (int i = 2; nbr<=i; i++) {
         if (estPremier (i) == true){
            System.out.println(i);
         }
      }

   }
}


voila sinon j ' ai mis sa dans mon main

Code:


   public static void main (String [] args) {

      Scanner clavier = new Scanner (System.in);
      System.out.println("entrer votre Nombre :");
      int nombre = clavier.nextInt();

      System.out.println(estPremier(nombre));

      System.out.println(suitePremier(nombre));
   }

L'erreur me dit que un void n' est pas autorisé .
Sachant que un void sa ne r'envoi rien comme valeur de retour .

je comprend pas pourquoi sa ne fait pas ce a quoi je m' attend , à savoir l'affichage d'une enumeration de mes nombres premiers , je demande pas une valeur precise de retour ,

merci pour votre eclairsicement .


Dernière édition par Aftab007 le Lun 26 Oct 2009, 19:53, édité 1 fois

Aftab007

Nombre de messages : 85
Age : 28
Prénom : Aftab
Date d'inscription : 27/11/2008

Revenir en haut Aller en bas

resolu Re: [LAJ1] recup une suite de nombres [TD6]

Message  LSV le Dim 25 Oct 2009, 14:09

Justement si, tu demandes bien une valeur précise de retour!

Lorsque tu fais une demande d'affichage avec System.out.println(), cela va t'afficher ce qui se trouve entre les parenthèses.
Dans le cas ou tu appelles une méthode, il va effectuer la méthode, et essayer d'afficher ce que la méthode renvoie...

Dans ce cas, tu essaye d'afficher ce que ta méthode renvoie, a savoir... rien.


Remplace simplement


System.out.println(estPremier(nombre));
System.out.println(suitePremier(nombre));

par

estPremier(nombre)
suitePremier(nombre)


Pas besoin de demander l'affichage, vu que cette demande est fait au niveau de ces méthodes...

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

resolu Re: [LAJ1] recup une suite de nombres [TD6]

Message  Wark le Dim 25 Oct 2009, 14:33

Une autre chose,

Code:
if (estPremier(i) == true)

est redondant. Un

Code:
if (estPremier(i))

est largement suffisant, sachant que la méthode sera remplacée par sa valeur de retour, la parenthèse sera donc

Code:
if (true)

ou

Code:
if (false)

lors de l'exécution du programme. 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

resolu Re: [LAJ1] recup une suite de nombres [TD6]

Message  Dj x-fuse le Dim 25 Oct 2009, 16:14

Un tout petit complément à Wark :

il y a aussi un petit peux plus court, mais sa devient vraiment du condensé :
Code:
(estPremier(i))? instruction if : instruction else;

Dj x-fuse

Nombre de messages : 658
Age : 27
Prénom : Jonathan
Statut : 4ième sécu
Localisation : IRL
Date d'inscription : 18/10/2008

Revenir en haut Aller en bas

resolu Re: [LAJ1] recup une suite de nombres [TD6]

Message  mcd le Dim 25 Oct 2009, 16:45

Dj x-fuse a écrit:il y a aussi un petit peux plus court, mais sa devient vraiment du condensé :
Code:
(estPremier(i))? instruction if : instruction else;
Qu'on utilisera plus volontiers quand on est face à de (courtes) expressions et pas des instructions.
Ex:
Code:
var = cond ? valeur vrai : valeur faux
abs = nb > 0 ? nb : -nb;

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

resolu Re: [LAJ1] recup une suite de nombres [TD6]

Message  Aftab007 le Lun 26 Oct 2009, 19:53

merci pour vos explications Smile

ps : J'avais aussi une erreur dans ma condition pour le FOR , du coups je rentrais jamais dans ma boucles :p

Mais mnt c'est corriger , sa fait plaiisiir :p

Aftab007

Nombre de messages : 85
Age : 28
Prénom : Aftab
Date d'inscription : 27/11/2008

Revenir en haut Aller en bas

resolu Re: [LAJ1] recup une suite de nombres [TD6]

Message  Contenu sponsorisé Aujourd'hui à 14:49


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