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 :

Fonction: retourner un tableau vide


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 21
    Points : 15
    Points
    15
    Par défaut Fonction: retourner un tableau vide
    Bonjour,

    j'ai actuellement un projet à rendre en JAVA et je débute; enfin Bref j'ai créer une fonction dans laquelle j'ai demander qu'un tableau soit retourner. Mais lorsque je le "run" il me pointe une erreur sur la ligne du "return". Et je me demande quelle peut être la cause.
    Merci d'avance.

    Cordialement,
    Images attachées Images attachées  

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Pas d'image s'il te plaît. Copie/colle le code et l'erreur.

  3. #3
    Membre du Club
    Profil pro
    Collégien
    Inscrit en
    Juillet 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2012
    Messages : 31
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par cheickna Voir le message
    Bonjour,

    j'ai actuellement un projet à rendre en JAVA et je débute; enfin Bref j'ai créer une fonction dans laquelle j'ai demander qu'un tableau soit retourner. Mais lorsque je le "run" il me pointe une erreur sur la ligne du "return". Et je me demande quelle peut être la cause.
    Merci d'avance.

    Cordialement,
    Si je ne dis pas de bêtise, le problème vient de là, tu retournes une case au lieu du tableau.

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Regarde plutôt le message d'erreur... Dès qu'il aura été copié/collé ici.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    voilà! merci!
    Code java : 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
    22
    23
    24
    25
    26
    27
     public Livraison article_a_livrer()
        {
     
            Livraison li[];
            li = new Livraison[nbreellivraison];
            System.out.println("quelle est la référence de l'article ");
            String recha = Clavier.lireString();
            for(int j =0; j< nbreellivraison;j++)
            {
             for(int c=0;c<nbreelarticle;c++)
                {
                     if (recha.equalsIgnoreCase(tablivraison[j].getCL()[c].getContient().getReference()) )//on parcours le tableau du contenu tableau 
                    {
                        for(int l=0;l<nbreellivraison;l++)
                        {
                            li[l]= tablivraison[j];
                            System.out.println("livraison N° "+tablivraison[j].getNumerolivraison() );
                        }
                               }else
                     {
                         System.out.println("l'article recherché n'existe pas.");
                     }
                }
     
            }
            return li[nbreellivraison];
        }

  6. #6
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut
    1. le code que tu nous envoies n´est pas le code ou se trouve l´erreur.
    Eric

  7. #7
    Membre habitué Avatar de Savak
    Homme Profil pro
    Ingénieur Etude et Développement
    Inscrit en
    Avril 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement

    Informations forums :
    Inscription : Avril 2012
    Messages : 111
    Points : 192
    Points
    192
    Par défaut
    Concernant ton erreur, je pense que jeffray03 t'a mis sur la bonne voie.

  8. #8
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    tu ne peux pas retourner si tu veux retourner le dernier objet, alors fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    li[nbreellivraison - 1]
    car le nombre d´objets est de nbreellivraison - 1


    Eric

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    j'ai essayer ceci
    Code java : 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
    22
    23
    24
    25
    26
    27
    28
    29
    public Livraison article_a_livrer()
        {
     
            Livraison li[];
            li = new Livraison[nbreellivraison];
            System.out.println("quelle est la référence de l'article ");
            String recha = Clavier.lireString();
            Livraison resl=null;
            for(int j =0; j< nbreellivraison;j++)
            {
             for(int c=0;c<nbreelarticle;c++)
                {
                     if (recha.equalsIgnoreCase(tablivraison[j].getCL()[c].getContient().getReference()) )//on parcours le tableau du contenu tableau 
                    {
                        for(int l=0;l<nbreellivraison;l++)
                        {
                            li[l]= tablivraison[j];
                            System.out.println("livraison N° "+tablivraison[j].getNumerolivraison() );
     
                        }
                               }else
                     {
                         System.out.println("l'article recherché n'existe pas.");
                     }
                }
     
            }
            return li[nbreellivraison-1];
        }


    Mais il me situe une erreur dans le return

  10. #10
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return li[nbreellivraison - 1];

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    dejà tester

  12. #12
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    1. peux-tu nous copier l´erreur?

    2. ou est ce que tu initialises : nbreellivraison?

    3. l´erreur se trouve dans la fonction renvoyant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau[nbremaxdelivraison]
    peux tu nous montrer le code de cette fonction?

    Eric

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    voici le message d’erreur qu'il affiche
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
    	at gestionlivraison2.GestionAGL.article_a_livrer(GestionAGL.java:611)
    	at gestionlivraison2.GestionAGL.menu(GestionAGL.java:790)
    	at gestionlivraison2.Gestionlivraison2.main(Gestionlivraison2.java:21)
    

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    nbmaxlivraison est une variable globale de ma classe merci




    Code java : 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    package gestionlivraison2;
    import java.util.Date;
     
    /**
     *
     * @author il
     */
    public class GestionAGL
    {
        private Fournisseur[] tabfour;
        private int nbfour;
        private int nbfourmax;
        private Article[] tabarticle;
        private int nbreelarticle;
        private int nbmaxarticle;
        private Livraison [] tablivraison;
        private int nbreellivraison;
        private int nbmaxlivraison;
        private AgentL[] tabagentL;
        private int nbreelagent;
        private int nbmaxagent;
        int nbcl;
     
     
     
      public GestionAGL()
      {
        System.out.println("combien avez vous de fournisseurs à saisir");
        nbfourmax=Clavier.lireInt();   
        tabfour=new Fournisseur [nbfourmax];
         System.out.println("combien avez vous d'articles à saisir");
        nbmaxarticle=Clavier.lireInt();   
        tabarticle=new Article [nbmaxarticle];
          System.out.println("combien avez vous de livraisons à saisir");
        nbmaxlivraison=Clavier.lireInt();   
        tablivraison=new Livraison [nbmaxlivraison];
         System.out.println("combien avez vous d'agent de livraison à saisir");
        nbmaxagent=Clavier.lireInt();   
        tabagentL=new AgentL [nbmaxagent];
       System.out.println("quelle est la taille max des contenu de livraison");
                    int nbclm = Clavier.lireInt();
     
      }

  15. #15
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    le nombre de livraison n´est pas definit dans ton constructeur, dont il est 0.
    tu fourni :
    un nombre max: donc ici tu crees un tableau de 0 elements:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    li = new Livraison[nbreellivraison];
    et cela cause un probleme.

    Eric

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    j'ai initialiser à 20 mais c'est toujours pareil

    Code java : 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    public class GestionAGL
    {
        private Fournisseur[] tabfour;
        private int nbfour = 20;
        private int nbfourmax;
        private Article[] tabarticle;
        private int nbreelarticle=20;
        private int nbmaxarticle;
        private Livraison [] tablivraison;
        private int nbreellivraison=20;
        private int nbmaxlivraison;
        private AgentL[] tabagentL;
        private int nbreelagent=20;
        private int nbmaxagent;
        int nbcl;
     
     
     
      public GestionAGL()
      {
        System.out.println("combien avez vous de fournisseurs à saisir");
        nbfourmax=Clavier.lireInt();   
        tabfour=new Fournisseur [nbfourmax];
         System.out.println("combien avez vous d'articles à saisir");
        nbmaxarticle=Clavier.lireInt();   
        tabarticle=new Article [nbmaxarticle];
          System.out.println("combien avez vous de livraisons à saisir");
        nbmaxlivraison=Clavier.lireInt();   
        tablivraison=new Livraison [nbmaxlivraison];
         System.out.println("combien avez vous d'agent de livraison à saisir");
        nbmaxagent=Clavier.lireInt();   
        tabagentL=new AgentL [nbmaxagent];
       System.out.println("quelle est la taille max des contenu de livraison");
                    int nbclm = Clavier.lireInt();

    voici

  17. #17
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    public Livraison article_a_livrer()
        {
     
            Livraison li[];
            li = new Livraison[nbreellivraison];
            System.out.println("quelle est la référence de l'article ");
            String recha = Clavier.lireString();
            Livraison resl=null;
            for(int j =0; j< nbreellivraison;j++)
            {
             for(int c=0;c<nbreelarticle;c++)
                {
                     if (recha.equalsIgnoreCase(tablivraison[j].getCL()[c].getContient().getReference()) )//on parcours le tableau du contenu tableau 
                    {
                        for(int l=0;l<nbreellivraison;l++)
                        {
                            li[l]= tablivraison[j];                        
                            System.out.println("livraison N° "+tablivraison[j].getNumerolivraison() );
     
     
     
                        }
                               }else
                     {
     
                         System.out.println("l'article recherché n'existe pas.");
                         //return resl;
                     }
                }
     
            }
            return li[nbreellivraison];
        }

  18. #18
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    sa marche mais l'erreur a été déplacer à ma condition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if (recha.equalsIgnoreCase(tablivraison[j].getCL()[c].getContient().getReference()) )

  19. #19
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    si est inferieur a alors tu auras le meme effet.

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

Discussions similaires

  1. Réponses: 24
    Dernier message: 24/05/2006, 19h19
  2. Fonction retournant un tableau initialisé
    Par ero-sennin dans le forum Delphi
    Réponses: 6
    Dernier message: 13/05/2006, 16h05
  3. [TP] Fonction retournant un tableau
    Par molesqualeux dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 07/05/2006, 01h01
  4. PB avec fonction retournant un tableau
    Par T-B dans le forum Langage
    Réponses: 2
    Dernier message: 27/01/2006, 22h01
  5. fonction retournant un tableau
    Par Jero13 dans le forum C
    Réponses: 7
    Dernier message: 22/11/2005, 11h14

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