Problème de "static "

Problème de "static " - Java - Programmation

Marsh Posté le 23-03-2004 à 11:15:45    

Voila je suis en train de faire un projet d'info ou je dois programmer une calculatrice en Java des nombres entiers et réels en binaire. J'ai donc fait 4 classes (Nombre signé, nombre non signé, format FSP et format FDP. Pour deux d'entre ces classes je suis obliger de mettre des static partout si je veux pouvoir les appeler depuis le programme principal et pour les deux autres ca marche tres bien sans les static.
 
J'ai absolument besoin d'enlever ces static car sinon je ne peux pas créer plusieurs objets différents.
 
Si qqn a une réponse il serait sympa de m'aider.
 
P.S. toutes les classes ont les memes entetes.
 
Merci de votre aide c'est assez important et ca me rend fou  :pt1cable:

Reply

Marsh Posté le 23-03-2004 à 11:15:45   

Reply

Marsh Posté le 23-03-2004 à 11:24:56    

ça fait quoi si tu enlèves le "static" (message d'erreur complet et code contenant l'erreur) ?
 
il est où ce "static" ?


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 23-03-2004 à 11:33:48    

les static sont devant toutes les entetes de fonction du genre:
public static void SaisieBinaire()
 
et devant les variables créer en privé:
private static int[] TNBReelFSP
 
De plus l'erreur est du type  
non-static method can not be referenced in a static context
 
car je l'appelle depuis mon main qui est de la forme:
public static void main()
 
j'ai deux classes où il n'y  a pas de pb et 3 autres ou ca ne fonctionne pas

Reply

Marsh Posté le 23-03-2004 à 11:40:07    

salut,
 
au lieu d'appeler directement tes variables il faut que tu utilises des accesseurs, enfin essaie c'est toujours compliquer de mettre tout en relation.
 
les accesseurs c'est les méthodes getChamp() pour le récuperer, par exemple  
getchamp() {
   return champ;
}
et setChamp(var var) pour fixer ta variable et dans son code tu as this.var = var;
 
et tuutilises ces methodes dans ton code.
 
j'espere que ça marchera!!!
Tchô!!!


---------------
olivier l'étudiant qui se pose des questions pour progresser.
Reply

Marsh Posté le 23-03-2004 à 11:42:16    

je veux le message exact et le code exact.
 
heu tu tenterais pas d'appeller des méthodes statiques directement depuis la main, sans passer par une instance par hasard ?


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 23-03-2004 à 12:16:55    

Enlève les static de toutes les variables et les méthodes, et dans ton main, n'oublie pas de travailler sur une instance de ta classe, et non pas directement.
 
NombreSigne ns = new NombreSigne(...);
ns.saisieBinaire();

Reply

Marsh Posté le 23-03-2004 à 12:27:57    

ouais en fait je passais mon temps a chercher dans mes classes alors qu'en fait mon erreur venait effectivement du fait que je ne trvaillais pas sur une instance.
 
Merci et désolé pour le dérangement
 
Boulet powaaaa

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed