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 :

Simplification du code d'tableau, problème des données recupéré, affichage des adresse memoire que le resultat


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 69
    Par défaut Simplification du code d'tableau, problème des données recupéré, affichage des adresse memoire que le resultat
    Bonjour à tout le monde;
    Je suis entrain de développer, un petit programme pour calculer le plus court chemin entre 2 sommet en utilisant djikstra; j'ai réussis à implémenter l'algorithme mais comme je n'ai pas beaucoup de connaissance en orienté objet, j'ai quelque souci avec la simplification de mon code.
    J'ai une classe elementGraphequi reçoit 3 paramètres, le sommet de départ, le sommet adjacent et le coût entre les 2.
    Je me retrouve avec 20 liens entre les sommets, j'ai créer un tableau de type elementGraphe qui doit contenir ces 20 liens(chemin) avec leurs sommets, mais le problème est que j'ai un code lourd et moche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    elementGraphe[] tableau= {
    			      new coutChemin(getInt(CDG.getSommet().get(0)), getInt(CDG.getSommetVoisin().get(0)),getInt(CDG.getListeCout().get(0)) ), 
    			      new coutChemin(getInt(CDG.getSommet().get(1)), getInt(CDG.getSommetVoisin().get(1)),getInt(CDG.getListeCout().get(1)) ),
    			      new coutChemin(getInt(CDG.getSommet().get(2)), getInt(CDG.getSommetVoisin().get(2)),getInt(CDG.getListeCout().get(2)) ),
    			      new coutChemin(getInt(CDG.getSommet().get(3)), getInt(CDG.getSommetVoisin().get(3)),getInt(CDG.getListeCout().get(3)) ),
    			      .......
                                  ........
     
     
    			    };
    Avec ce code tout fonctionne correctement mais en voulant le simplifier pour utiliser une boucle afin de réduire les lignes du code,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    coutChemin[] tableau;	
    public void Tabchemin() {
     
    		for(int i=0;i<2;i++) {
    			tableau= new coutChemin[] {
    				      new coutChemin(getInt(CDG.getSommet().get(i)), 
    				    		  getInt(CDG.getSommetVoisin().get(i)),
    				    		  getInt(CDG.getListeCout().get(i)))};
     
    			}
    j'ai un autre problème, mon algorithme me donne aucun résultat, lorsque j'ai essaie d'afficher les valeurs du tableau , je n'obtiens que des adresse mémoires
    , j'ai essayé d'utiliser plusieurs techniques comme la méthode toString(), Arrays.toString(tableau),... pour afficher les données mais en vain.
    Ce sont ces valeurs qu'utilise mon algorithme pour faire les calcules, j'ai une autre classe qui gère les calculs, il reçoit le tableau de type elementGraphe en parametre.
    Est ce que c'est du fait que mon tableau n'est de type int, ou integer c'est pourquoi ça ne marche pas ? Sinon comment je dois faire pour simplifier ces lignes de code? J'ai déjà fait des recherches sur google mais aucun resultats lignes de code au cas où vous avez d'autres pistes j’apprécierais votre aide, merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Par défaut
    Tu ré instance ton tableau à chaque itération: tableau= new coutChemin[].

    Il faut créer ton tableau avant la boucle et ajouter à chaque itération.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 69
    Par défaut
    Citation Envoyé par Bbaboulinet Voir le message
    Tu ré instance ton tableau à chaque itération: tableau= new coutChemin[].

    Il faut créer ton tableau avant la boucle et ajouter à chaque itération.
    Merci, justement finalement j'ai trouvé la solution, c'etait justement ça la solution
    tableau= new coutChemin[taille].

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

Discussions similaires

  1. Problème de récupération et affichage des données
    Par franco9 dans le forum Struts 1
    Réponses: 0
    Dernier message: 17/08/2012, 13h32
  2. Réponses: 0
    Dernier message: 30/04/2012, 20h49
  3. Réponses: 6
    Dernier message: 22/03/2012, 12h24
  4. Réponses: 6
    Dernier message: 13/12/2010, 20h20
  5. Réponses: 2
    Dernier message: 06/06/2010, 15h15

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