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

avec Java Discussion :

Problème avec une matrice de liste.


Sujet :

avec Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Problème avec une matrice de liste.
    bonsoir!
    j'ai quelques problèmes sur la génération d'un 3 graphes en java.
    je doit faire une matrice sommet-sommet avec un nombre maximum de n arcs/connexions donné par l'utilisateur. la mise en place des arcs reste aléatoire, ainsi que leur valeur.

    pour ce faire j'ai envie d'utiliser une matrice, de listes de taille 3 maixmum. cependant lorsque je la construit, j'ai une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    matAdj = new Vector<Integer>[n][n];
    erreur:
    Impossible de créer un tableau générique de Vector<Integer>.
    que puis je faire....

    la liste me serai bien utile car pour créer la matrice de connexion (requise) j'ai juste à utiliser vector.size();
    a moins que je ne fasse un matrice de tableau et que si la valeur est nulle, on retranche 1 à la taille max du tableau... mais ç'est assez tordu je trouve....

    de plus j'ai un problème avec ma méthode toString je ne sais pas comment la créer j'ai une erreur à cause de cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c= c + Vector.toString(matAdj[i][j])+ " ")
    erreur: La méthode toString() du type Vector ne s'applique pas aux arguments (Vector<Integer>)

    merci d'avance pour votre aide et vos réponse! et bonne soirée.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 156
    Points : 190
    Points
    190
    Par défaut
    Moi perso, je crérais ma propre structure de données qui se base sur un tableau de primitifs et dont tu calcul l'index.

    Est ce que toutes les lignes ont la même largeur ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    j'ai résolu l'erreur du toString (qui était simple en fait....);
    pour le problème de tableau dynamique, j'ai un peu modifié mon code, mais maintenant j'ai une NullPointerException, du fait que mes vector pointes sur ... Rien....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Vector<Integer>[][] matAdj; en attribut;
    et dans le constructeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    matAdj = new Vector[n][n];
    on m'as dit que c'est parce que je crée des pointers de liste et non des listes....

  4. #4
    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
    Citation Envoyé par Gaara28 Voir le message
    on m'as dit que c'est parce que je crée des pointers de liste et non des listes....
    En fait, des tableaux capables de contenir des listes, mais qui n'en contiennent pas encore.

    Il te reste à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(int i = 0; i < n; i++) {
      for(int j = 0; j < n; j++) {
        matAdj[i][j] = new Vector<Integer>();
      }
    }
    Au passage, je ne comprends pas pourquoi tu fais un Vector<Integer>[][] et non pas par exemple un int[][][] ou un Vector<Vector<Vector<Integer>>>.
    Mêler tableaux et collections est assez chiant en général.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Le problème vient de la matrice de connexion, le fait d'utiliser une liste fais que je peut utiliser sa taille pour déterminer le nombre d'arcs entre chaque sommet, alors que le tableau serai forcément de taille 3 lui....

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

Discussions similaires

  1. Problème avec une matrice dans une boucle
    Par kingofdarck dans le forum MATLAB
    Réponses: 9
    Dernier message: 08/10/2012, 13h11
  2. Problème avec une zone de liste
    Par patmar83 dans le forum IHM
    Réponses: 3
    Dernier message: 20/03/2011, 12h00
  3. [Débutant] problème avec une liste déroulante
    Par stan21 dans le forum Access
    Réponses: 3
    Dernier message: 12/07/2006, 14h52
  4. Réponses: 1
    Dernier message: 19/01/2006, 17h54

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