IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

retourner un tableau


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut retourner un tableau
    Bonjour à tous

    Je débute en java et je suis sur un exercice assez simple a première vue mais je bloque sur une erreur à la compilation...
    Le but est de créer un tableau grâce à une méthode. Le tableau étant vide à l'origine, toutes les valeurs du tableaux valent donc -1. Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    public class Tableau{
     
    	public static void main(String[] args){
     
    	int[] notes;
    	initialise(notes);
     
    	}
     
    	public static int[] initialise(){
    		int[] t;
    		t = new int[10];
    		for(int i = 0; i < t.length; i++){
    			t[i] = -1;
    			System.out.println(t[i]);
    			}
    		return t;
     
    	}
    }
    Voilà, j'ai essayé de plusieurs manières différentes, je n'arrive toujours pas à retourner un tableau avec la méthode. J'ai fait pas mal de recherches en vain...
    Merci d'avance pour vos réponses, bon week end!

  2. #2
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Bonjour,

    Vire ta variable des paramètres d'appels de ta méthode (selon la manière dont tu l'as déclaré, elle ne prend pas de paramètres), et affecte à ta variable la valeur renvoyée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    public class Tableau{
     
    	public static void main(String[] args){
     
    	    int[] notes = initialise();
     
    	}
     
    	public static int[] initialise(){
    		int[] t = new int[10];
    		for(int i = 0; i < t.length; i++){
    			t[i] = -1;
    			System.out.println(t[i]);
    			}
    		return t;
     
    	}
    }

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    (Edit: grillé par Deadpool. Bah, c'était couru )

    Tu confonds passer un tableau en paramètre et retourner un tableau.

    Si tu passes un tableau en paramètre d'une méthode, la méthode peut modifier les éléments qu'il contient, et le tableau gardera les modifications, il n'y a pas besoin de le retourner. Par contre elle ne peut pas changer la taille du tableau.

    Si tu fais une méthode qui retourne un tableau, la méthode peut initialiser le tableau elle-même, avec une taille, et mettre ce qu'elle veut dans le tableau. Il n'est pas nécessaire de passer un tableau en paramètre. En tout cas, elle ne peut toujours pas changer la taille du tableau en paramètre.

    Ta méthode initialise() fonctionne très bien pour retourner un tableau. Mais apparemment tu ne sais pas comment l'appeler. Voilà comment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static void main(String[] args){
     
      int[] notes;
      notes = initialise();
     
    }
    Ton code à toi ne compile pas parce que :

    - initialise() n'a pas de paramètre, et tu essaies de lui passer un tableau en paramètre.
    - tu essaies d'utiliser notes alors que tu ne l'as pas encore initialisé. Une méthode ne peut pas initialiser elle-même les paramètres qu'on lui passe. Ils doivent déjà l'être.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup pour votre aide ! Je prends note de tout ce que vous avez dit et je vais réfléchir à tout ça

    Bon week end

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/10/2005, 18h32
  2. Retourner un tableau ?
    Par chateau_dur dans le forum C++
    Réponses: 8
    Dernier message: 20/08/2005, 12h11
  3. retourné un tableau
    Par elekis dans le forum C++
    Réponses: 5
    Dernier message: 17/03/2005, 15h03
  4. [plpgsql] comment retourner un tableau
    Par hpghost dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 27/06/2004, 21h09
  5. Fonction qui retourne un tableau
    Par _lara_ dans le forum ASP
    Réponses: 6
    Dernier message: 24/05/2004, 15h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo