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 :

[débutant] Prob de méthode//vecteur


Sujet :

Langage Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Par défaut [débutant] Prob de méthode//vecteur
    Bonjour,

    Voilà, j'ai un petit problème qui me renvoie une erreur "not a statement"
    J'ai crée un vecteur v dans une classe "GestionPark", mais quand je veux rajouter un objet dedans à partir d'une autre classe il refuse ma syntaxe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
     try{ for ( int k = 0,t=0 ; k < 50; k++ , plaque++)  
                  Voiture alpha = new Voiture(plaque);
                  (GestionPark)v.addElement(alpha);
                   delay = (int)((Math.random())*20000);       
                  Thread.sleep ( delay );
                  System.out.println("delay = "+delay);
     
                  }}
     
                   catch( InterruptedException e ) {
                System.out.println("Interrupted Exception caught");
            }
    ]

    Quelqu'un pour éclairer ma lanterne?

    Merci beaucoup

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Par défaut
    on peut avoir tout le code de la classe ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Par défaut
    Bien sur, mais pour l'instant ça se limite à ça.
    En fait mon problème vient surtout de l'utilisation de la syntaxe pour des programmes comportant plusieurs classes.
    A part pour des méthodes statiques je ne vois pas trop comment appeler des méthodes définies dans d'autres classes etc...

    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
    34
    35
    36
    37
    38
    39
    40
     
    import java.util.*;
     
    class VoitThread implements Runnable{ 
    //char c;
    int delay ; //(int)((Math.random())*10000); //10000 ;//(int)(Math.random()*10);
    int t=0;
    int plaque =0 ;
    VoitThread voitT;
     
     
    VoitThread (int t){
    this.t=t;}
     
     
    VoitThread () {}
     
    public void run() {
     
     
            try{ for ( int k = 0,t=0 ; k < 50; k++ , plaque++)  
     
                  System.out.println (  "Je crée un objet " + k );
                  Voiture alpha = new Voiture(plaque);
                  (GestionPark)v.addElement(alpha);           
                  System.out.println("taille du vecteur : "+v.size());
                  System.out.println ("plaque = "+plaque);
                  delay = (int)((Math.random())*20000); 
                  Thread.sleep ( delay );  // jendors mon Thread Createur de voitures pdt le tps du délai
                  System.out.println("delay = "+delay);  
                  System.out.println("k = "+ k );
                  System.out.println("t = "+ t);
     
                  }}
     
                   catch( InterruptedException e ) {
                System.out.println("Interrupted Exception caught");
            }
     
    }   }

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Par défaut
    Une idée?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Par défaut
    je suis pas trop au fait de la syntaxe pour les threads mais en java classique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                 (GestionPark)v.addElement(alpha);
    ça ne passe pas

    où est ce que tu crées v ? est ce que tu importe GestionPark ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Par défaut
    Salut,

    J'ai crée v dans la classe GestionPark par Vector v = new Vector ();
    Et les classes GestionPark et Voiture sont dans le même package ==> pas besoin de faire un import je pense.


  7. #7
    Membre chevronné Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Par défaut
    Ta boucle for n'est pas ouverte, elle ne prend donc que la ligne suivante, et tu ferme l'accolade alors que tu ne l'as pas ouverte ! Normal qu'il te refuse la syntaxe. Normalement ton code ne devrait meme pas compiler. De plus un v.addElement((GestionPark) alpha) serait plus approprié.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Par défaut
    En fait la boucle for est ouverte, y a une accolade qui est restée dans mon copier-coller.
    Je ne comprend pas trop ta solution de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    v.addElement((GestionPark) alpha)
    mais de toute façon ca ne marche pas.
    alpha est définie la ligne juste au-dessus et non dans GestionPark, alors que mon vecteur, lui, provient de GestionPark


    Merci quand même

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GestionPark.v.addElement( alpha)
    et déclarer v static dans ta classe

    ou alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GestionPark g = new GestionPark();
    g.addElement( alpha)
    et dans la classe GestionPark
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void add (Object o) {
           v.add(o);
    }

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Par défaut
    Bonne idée, je vais tester le "ou alors" à mon retour
    Ca me paraît être la bonne solution

    Merci

  11. #11
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Enfin, quoi qu'il en soit, l'erreur "not a statement" à la compil, c'est 99,99% du temps un problème sur les {} ...

  12. #12
    Membre éclairé Avatar de julien-blaise
    Homme Profil pro
    Développeur Java et C#
    Inscrit en
    Mai 2005
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java et C#

    Informations forums :
    Inscription : Mai 2005
    Messages : 458
    Par défaut
    J'ai du loupé la ligne mais je ne trouve pas la déclaration et l'instanciation de ton vecteur.
    Mais ceci dit tu peux très bien faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Vector<GestionPark> v = new Vector<GestionPark>()
    Comme ça tu défini ton vecteur comme étant uniquement pour les GestionPark.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/03/2006, 11h22
  2. [débutant][JMenuItem] clone() : Méthode invisible
    Par lejimi dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 22/01/2006, 19h03
  3. Débutante - Pb appel méthode static
    Par nmetais dans le forum Langage
    Réponses: 2
    Dernier message: 23/09/2005, 18h23
  4. [DéBUTANT]Prob avec RegQueryValue
    Par alainpeniche dans le forum C++
    Réponses: 3
    Dernier message: 02/08/2005, 00h57
  5. [débutant] Prob avec Tree ctrl
    Par Devether dans le forum MFC
    Réponses: 3
    Dernier message: 24/03/2004, 12h36

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