Utiliser variable dans 2 méthodes

léo1408 Messages postés 118 Date d'inscription   Statut Membre Dernière intervention   -  
 bigbybob -
Bonjour,

J'écrit un programme qui génère des QCM, mais je vous passe les détails :D
J'ai une classe (maClasse) et elle est composée de 2 méthodes (métho1 et métho2). J'ai déclaré un variable (maVariable) en public dans la classe (pas dans une des méthodes).

Mon programme est composé de plusieurs classe, dans l'une d'elle je fais appel a la méthode métho1. L'uitilisateur doit entrer un nombre et il est stockée dans cette vairable (maVarible qui est public ).

Plus loin dans mon programme, je réutilise maVariable mais dans la deuxième méthode mais la, la varible vaut 0, alors que l'utilisateur (moi) entre 1.

Ma question est donc la suivante, ai-je bien déclaré ma variable pour qu'elle soit accessible dans les deux méthodes ? Je veux que cette variable ai la valeur rentré par l'utilisateur :) Donc si je ne la déclare pas bien, avez-vous la solution pour la déclarer correctement ?


Merci d'avance

Léo


A voir également:

3 réponses

Mathieu2226 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   3
 
copie colle ton code sinon on peut pas t'aider
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
La valeur 0, c'est la valeur par défaut, donc ta variable n'a pas changé de valeur quand tu l'utilises, peut-être parce que tu utilises deux variables de même nom (maVariable) qui n'ont rien à voir l'une avec l'autre, la première est utilisée dans metho1, la deuxième dans metho2, mais comme ce ne sont pas les même variables, elles n'ont pas les même valeurs.

Comme le disait Mathieu2226, le mieux est de nous indiquer ton code, qui vu ton problème doit pas être bien long...
0
bigbybob
 
Je pense que ton problème viens d'ailleurs.

A mon avis, dans tes autres classes, tu fais un MaClasse c = new MaClasse(). Ceci à pour effet de créer un nouvel objet. Ta classe MaClasse n'est qu'un structure, donc les objets à l'intérieur ne sont pas partagés entre les objets.

Concretement, y'a plusieurs choix, soit on passe MaVariable en "static" et on lui enlève le 0 qui l'initialise. Soit on fait un objet MaClasse, et on le fait passer aux autres classes.
0