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 :

Modifier une variable static


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 34
    Par défaut Modifier une variable static
    Bonjour
    j'ai déclaré une variable static dans ma classe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static float vitesse[];
    dans le constructeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    vitesse=new float[6];
    for(int i = 0; i < 6; i++) 
    {
       vitesse[i]= 1;
    }
    le problème c'est je n'arrive pas à modifier la valeur(s) de mon tableau static dans une autre classe.
    j'ai essayé avec une méthode static et autres mais la valeur dans mon tableau est toujours à 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    maclasse.vitesse[0]=0.5;
    maclasse.setVitesse(0.5,indice)
    avez vous une idée pour résoudre ce problème?

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, d'après ce que tu montres, cela devrait fonctionner.
    Il doit y avoir un problème dans le reste du code.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Par défaut
    Tu fais une initialisation dans le constructeur. Donc à chaque appel à ce constructeur, les valeurs reviennent à 1. Si tu veux initialiser ce tableau, il ne faut pas le faire dans le constructeur, mais dans un bloc static :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static float vitesse[];
    static {
      vitesse=new float[6];
      for(int i = 0; i < 6; i++)
      {
        vitesse[i]= 1;
      }
    }

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 34
    Par défaut
    j ai essayé le morceau de code précedent ,ca marche si je declare une seule variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public static float f;
    	static {
    		f=1;
     
    	}
    J'arrive à la modifier aprés.

    mais avec le tableau non,les valeur sont tjrs à 0;

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Par défaut
    Peux tu montrer les codes que tu utilises ? Penses aussi à la balise CODE (le "#" dans la barre de boutons)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 34
    Par défaut
    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
     
    public class Operateurs {
     
    	public static float vitesse[];
    static {
      vitesse=new float[6];
      for(int i = 0; i < 6; i++)
      {
        vitesse[i]= 1;
      }
    }
     
    public static void setVitesseOp(float v, int i) {
     
    		vitesse[i] =v;
     
    	}
    sur l'evenement clic sur un bouton dans une autre classe.je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Operateurs.setVitesseOp((float)0.5, 0);
    voila

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

Discussions similaires

  1. [POO] Problème avec une variable static
    Par grimsk dans le forum Langage
    Réponses: 5
    Dernier message: 23/05/2006, 01h58
  2. Modifier une variable globale
    Par bahet dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2006, 18h04
  3. modifier une variable dans un fichier
    Par Guismay dans le forum Langage
    Réponses: 7
    Dernier message: 11/09/2005, 19h46
  4. [VB6]Initialiser une variable Static dans un évenement
    Par loverdose dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 20/01/2005, 14h57
  5. [héritage] héritage d'une variable static
    Par yaya44 dans le forum Langage
    Réponses: 14
    Dernier message: 29/09/2004, 13h36

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