Communication entre classes
Résolu
Zinconnu
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
Zinconnu Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Zinconnu Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je me suis mis à la programmation JAVA (et la programmation en général) il y a trois jours, et j'ai commencé un début de petit jeu. J'ai rencontré un problème: en effet je n'arrive pas à faire partager une variable "T" entre deux classes :
Merci pour votre aide
Je me suis mis à la programmation JAVA (et la programmation en général) il y a trois jours, et j'ai commencé un début de petit jeu. J'ai rencontré un problème: en effet je n'arrive pas à faire partager une variable "T" entre deux classes :
public class classe1 { public static int T; public static void main(String[]args) throws InterruptedException { int O = 1; int K = 0; { while(T > 0) {K=K+(1*O); System.out.print(K); System.out.println("pièces d'or"); Thread.sleep(4578);} }}}
import java.util.Scanner; public class classe2 { public static int T=1; public static void main(String[]args) { Scanner keyb=new Scanner(System.in); System.out.println("Pour mettre le jeu en pause, tapez P"); int X = 12550; while(X > 1) {String W = keyb.nextLine(); if(W.equals("P")) { if(T == -1) { T = 1;} else { T = -1;}} } }}
Merci pour votre aide
1 réponse
Pour utiliser une variable static il faut la préfixer du nom de sa classe, dans ton cas c'est donc
Attention cependant à ce que tu fais, là tu as deux main, ce qui signifie normalement deux programmes. Or tu ne pourras pas communiquer les variables entre deux programmes différents, en tout cas pas comme ça.
PS. il y a des règles d'écriture à respecter, autant prendre de bonnes habitudes maintenant : les noms de classe commencent par une majuscule, les noms de variables par une minuscule, tu as fait tout l'inverse...
classe1.Tet
classe2.T.
Attention cependant à ce que tu fais, là tu as deux main, ce qui signifie normalement deux programmes. Or tu ne pourras pas communiquer les variables entre deux programmes différents, en tout cas pas comme ça.
PS. il y a des règles d'écriture à respecter, autant prendre de bonnes habitudes maintenant : les noms de classe commencent par une majuscule, les noms de variables par une minuscule, tu as fait tout l'inverse...
Il faudrait renommer l'une des deux méthodes pour n'avoir de méthode main que dans ta classe principale, celle qui servira à démarrer le programme.
Remarque : du coup est-ce vraiment nécessaire d'avoir deux classes ?
"Type name must not be qualified" quand je mes T à la fin...
Tu mets T à la fin de quoi ?
Il faudrait voir à quoi ressemble ton code maintenant, mais il suffisait juste de remplacer T par classe1.T ou classe2.T selon ce que tu voulais faire.
J'ai pas réussi à lancer les deux actions en simultané dans une et même classe, alors j'ai dédoublé les deux...