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

Langage Java Discussion :

traduire une morceau de C++ en Java


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut traduire une morceau de C++ en Java
    Bonjour,

    je suis en train de traduire un programme en C++, mais il y a une partie dont je n'ai aucune idée de solution.
    Pourriez vous m'aider ?

    Voilà le petit morceau qui me poser souci :
    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
     
    public:
      // types
      typedef typename std::list<Point<d> >::iterator         It;
      typedef typename std::list<Point<d> >::const_iterator   Cit;
    private:
      // data members
      std::list<Point<d> > L;
      Miniball_b<d>        B;
      It                   support_end; 
    ...
      // private methods
      void Miniball<d>::mtf_mb (It i)
    {
      support_end = L.begin();
      if ((B.size())==d+1) return;
      for (It k=L.begin(); k!=i;) {
        It j=k++;
        if (B.excess(*j) > 0) {
          if (B.push(*j)) {
    	mtf_mb (j);
    	B.pop();
    	move_to_front(j);
          }
        }
      }
    }
    Ce qui me pose problème, c'est comment traduire ce type d'itérator en Java (L.Begin(), ...) car les listes et les vector n'ont pas ce genre de méthodes.

    Merci par avance...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  2. #2
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    Salut,

    Si si, les list et vector ont bien un iterator ca s utilise comme ca en gros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    List lst;
    ...
    Iterator iter = lst.iterator();
    while( iter.hasNext() ){
       Object o = iter.next();
    }
     
    //Sinon y a la boucle etendue Java qui a fait sont apparition en JAVA5
    for( Object o : lst ){
       //Ton traitement sur l objet o
    }
    Voila le reste devrait pas te poser de probleme

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    les iterators en java je connais...
    Ce qui me pose souci, c'est les ".Begin()" qu'il n'y a pas en Java et surtout les "k++".
    La seule idée serait d'avoir des variables pour savoir où je suis dans mon itérator...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    Oui mais quand tu crée l iterateur, il te rend le debut de la liste, pas le milieu ?
    J ai raté un truc ?

  5. #5
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    le L.Begin() est appelé très régulièrement... si j'ai fait un next entre temps...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  6. #6
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    Les begin() ne sont appelé qu une fois chacun, l un a la declaration de depart l autre a l initialisation d une variable du for, apres c est un parcours normal.

    A moins qu il manque un bout de code C++ je vois pas ce qui pourrait ne pas aller

Discussions similaires

  1. TRADUIRE une fonction algorithmique en java
    Par mouss4rs dans le forum Langage
    Réponses: 1
    Dernier message: 08/05/2008, 01h35
  2. Comment traduire une java application en java applet
    Par choko83 dans le forum Applets
    Réponses: 13
    Dernier message: 11/03/2008, 11h02
  3. [Appel URL] appel d'une page web dans 1 Java
    Par c4cf6 dans le forum Applets
    Réponses: 3
    Dernier message: 17/03/2006, 14h13
  4. Réponses: 5
    Dernier message: 24/09/2005, 20h31
  5. Comment traduire une requête en XPATH ?
    Par vincent1 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 24/06/2005, 12h46

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