[Résolu] Problème dans code Java

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

[Résolu] Problème dans code Java

Message  mfa le Dim 21 Oct 2007, 12:19

Bonjour,

Le code suivant n'est-il pas censé retourné "6" si l'utilisateur entre "3" ?

Code:
import java.util.Scanner;
public class module
{
   public static int fois2 (int nb)
   {
      nb = nb*2;
      return nb;
   }
   
   public static void main (String[] args)
   {
      Scanner clavier = new Scanner(System.in);
      int nb;
      
      System.out.println("Entrer un nombre : ");
      nb = clavier.nextInt();
      fois2(nb);
      System.out.println("nb = "+nb);
    }
}

Il se fait que chaque fois que l'utilisateur entre un nombre, c'est ce dernier qui est affiché à l'écran ... Quelqu'un voit-il l(les)'erreur(s) ?

Merci


Dernière édition par le Dim 21 Oct 2007, 14:27, édité 1 fois

mfa

Nombre de messages : 102
Age : 29
Date d'inscription : 22/04/2007

Revenir en haut Aller en bas

Re: [Résolu] Problème dans code Java

Message  Serka le Dim 21 Oct 2007, 12:23

Ton paramètre est retourné dans le vide.

Transforme la ligne :

Code:
fois2(nb);


En :

Code:
nb=fois2(nb);

Serka

Nombre de messages : 38
Age : 29
Prénom : Bruno
Statut : Ancien (promotion 2011)
Localisation : Bruxelles
Date d'inscription : 07/01/2007

Revenir en haut Aller en bas

Re: [Résolu] Problème dans code Java

Message  Dark le Dim 21 Oct 2007, 13:52

En java , toutes les variables qui sont définies au sein d'une fonction ou méthode sont locales.C'est à dire qu'elles n'existent que dans la fonction ou la méthode.
Si tu passes à une fonction un int qui vaut 3 pour dire que tu veux doubler sa valeur , il faudra que dans ta méthode appelante tu fasses nb=double(nb); , sinon nb vaudra toujours 3.

Dark

Nombre de messages : 131
Age : 30
Prénom : Laurent
Statut : Etudiant
Date d'inscription : 15/05/2006

http://membres.multimania.fr/dark0502/

Revenir en haut Aller en bas

Re: [Résolu] Problème dans code Java

Message  mfa le Dim 21 Oct 2007, 14:27

Super ! Merci beaucoup pour votre explication les gars ! Wink

mfa

Nombre de messages : 102
Age : 29
Date d'inscription : 22/04/2007

Revenir en haut Aller en bas

Re: [Résolu] Problème dans code Java

Message  Arsthan le Dim 21 Oct 2007, 18:45

J'ajouterais que pour les types 'référence' [String et autres Objets], cela ne marche pas comme ca, car tu passes directement l'adresse en mémoire.

Ainsi, si tu avait fait :
Code:

    public static void fois2( int[] mesNombres) {
        for (int i=0; i<mesNombres.length; i++)
            mesNombres[i] = mesNombres[i] * 2;
    }
   
    public static void main(String [] args) {
        int [] tableau = { 1 , 2, 3, 4 };
        fois2(tableau);
        for (int i=0; i<tableau.length; i++)
            System.out.println(tableau[i]);
    }
Tu aurais obtenu
Code:
2
4
6
8
Comme résultat ...

Arsthan

Nombre de messages : 178
Age : 29
Prénom : Romain
Statut : 3ème Gestion
Localisation : Brussels
Date d'inscription : 06/01/2007

http://www.arsthan.net

Revenir en haut Aller en bas

Re: [Résolu] Problème dans code Java

Message  pbt le Lun 22 Oct 2007, 10:27

Il y a 4 slides presque identiques qui expliquent cette notion, n'hésite pas à la consulter.

_________________
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: [Résolu] Problème dans code Java

Message  Contenu sponsorisé Aujourd'hui à 18:57


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