Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Java] Vector

    2 décembre 2006 à 16:55:33

    Bonjour a tous je dois faire un exercice pour mon universite qui nest pas evident :
    Je dois implementer une version simplifiee de la classe Java.

    Qqun sait s'il est possible de trouver une source qui ressemble a Vector de java?

    Merci davance!
    • Partager sur Facebook
    • Partager sur Twitter
      2 décembre 2006 à 17:27:01

      Bonjour,

      que veux-tu dire par implémenter une version simplifiée de la classe Java ?

      La classe Vector tu ne peux pas l'implémenter, elle est déja implémentée. Tu peux la redéfinir, ou l'étendre, à la rigueur.

      Quel est l'énoncé exact de ton sujet ?

      P.S: si j'étais toi, j'en choisirais une autre que Vector. Étant donné qu'elle met en oeuvre le principe d'exclusion mutuelle en écriture... :)
      • Partager sur Facebook
      • Partager sur Twitter
        2 décembre 2006 à 17:52:37

        Merci pour la reponse rapide.
        Je sais que la classe est deja implementee
        Il vaut que je cree une classe Vector qui ne parte de rien.
        Ca peut paraitre bete mais cest justement un exercice fait pour mettre en oeuvre ce qui a ete appris sur les tableaux.

        L'enonce precis est la http://httpdyn.cs.huji.ac.il/moodle/mod/resource/view.php?id=849

        Merci d'avance
        • Partager sur Facebook
        • Partager sur Twitter
          2 décembre 2006 à 18:43:35

          Ok. Euh, en quoi tu veux de l'aide ? Pour quelle méthode spécifique ?

          Parce que dans l'ensemble, si tu dois t'aider de tableaux, tu peux considerer qu'un VectorString c'est un tableau de String.

          Les choses "compliquées" sont plus la gestion de l'itérateur. Mais ça encore ce n'est pas très compliqué.

          Je ne vais pas faire l'ensemble des deux classes demandées pour toi. :)

          Alors soit tu me dis quelles méthodes te posent problème, soit tu montres ce que tu as fait, et on verra les points difficiles ensemble. :)

          Oki ?
          • Partager sur Facebook
          • Partager sur Twitter
            2 décembre 2006 à 19:07:25

            Waww vous etes vraiment trop sympas..
            Ecoute je crois que deux methodes qui sont representatives de la logique de lexercice sont les methodes
            add et ensureCapacity.

            Si tu pouvais me donner un apercu de l'implementation ca pourrait vraiment me mettre bien sur les rails!!

            Merci davance et @ bientot

            Je reviendrai peut etre demander un petit coup de main pour l'iterator un peu plus tard :)

            • Partager sur Facebook
            • Partager sur Twitter
              2 décembre 2006 à 21:03:20

              Noralement tu sais avoir le code des classes de base en java.
              Vector est, il me semble, un bete tableau d'objet.
              • Partager sur Facebook
              • Partager sur Twitter
                2 décembre 2006 à 21:10:22

                Ou peux tu trouver le code de base de la classe Vector???

                Ca pourrait beaucoup maider merci beaucoup davance
                • Partager sur Facebook
                • Partager sur Twitter
                  2 décembre 2006 à 23:10:04

                  Moi je te conseillerais la logique suivante :

                  Un vector c'est un tableau.

                  En private dans ta classe MyStringVector tu as sans doute déclaré :
                  private int nbElements;
                  private int capacite ;
                  private String[] tableau;


                  et les constructeurs de base :
                  public MyStringVector(){
                  int nbElements = 0; // ca correspond à la taille
                  int capacite = 10; // capacité par défaut
                  int increment = 10; // incrément par défaut
                  tableau = new String[capacite];
                  }

                  public MyStringVector(int capaciteInitiale){
                  int nbElements = 0;
                  int capacite = capaciteInitiale;
                  int increment = 10;
                  tableau = new String[capacite];
                  }

                  public MyStringVector(int capaciteInitiale, int incrementInitial){
                  int nbElements = 0;
                  int capacite = capaciteInitiale;
                  int increment = incrementInitial;
                  tableau = new String[capacite];
                  }




                  Alors les méthodes que tu ne comprends pas donneraient quelque chose du genre :

                  public void add(String element){
                  // on s'assure que l'on peut rajouter un élément en faisait appel à "ensureCapacity"
                  ensureCapacity(1);
                  tableau[nbElements]=element;
                  nbElements++;   
                  }

                  private void ensureCapacity(int nbElementsAInserer){
                  // on vérifie que le tableau peut accueillir nbElementsAInserer nouveaux éléments
                  // sinon on rajoute l'increment (plusieurs fois au besoin)

                  if(nbElementsAInserer > capacite-nbElements){
                  int nbIncrementation = 0;
                  while(nbElements+nbElementsAInserer > capacite+ nbIncrementation *increment){
                  nbIncrementation++;
                  }//while
                  if (nbIncrementation >0){
                  String[] nouveauTableau = new String[capacite + nbIncrementation *increments];
                  for(int i=0; i<nbElements ; i++){
                  nouveauTableau[i] = tableau [i]
                  } // for
                  tableau = nouveauTableau;
                  capacite = capacite + nbIncrementation *increments;
                  } // if
                  } // if
                  }

                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 décembre 2006 à 11:21:36

                    Je te remercie beaucoup ca ma bien aide pour debuter cest excellent!!

                    A bientot
                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 décembre 2006 à 13:08:42

                      De rien. :)

                      Un petit tag "résolu" et ce serait parfait... ;)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      [Java] Vector

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown