Argument depuis constructeur dans limite tableau - Java - Programmation
Marsh Posté le 01-12-2004 à 20:34:16
ben ton entier n n'est visible que dans le code de ton constructeur là...
... ha ben tu le déclare déjà au niveau classe, alors ton erreur c'est simplement que tu en redeclares un autre ds le cteur... donc dans ton cteur tu met "n=max" et hop
(ou this.n = max; pour plus de lisibilité)
(declare tes variables membres de classes en haut)
Marsh Posté le 01-12-2004 à 21:09:53
Autant pour moi en fait le code dans le constructeur était simplement n = max ; ( pas de 2 eme déclaration ) c 'est juste au moment de recopier .. Le probleme vient en effet du fait que la déclaration était aprés .. Mais pourtant si mes souvenirs sont bons ( apprament mauvais ) c'est pas d'abord : 1 - Initialisation nulle , initialisation explicite , et initialisation depuis le constructeur ? : s
Marsh Posté le 01-12-2004 à 21:31:29
euh, balance un bout de code complet, là j'ai du mal à voir ce que tu veux et ou etait ton probleme
(parce que le fait que la declaration soit en bas de classe n'influence pas le comportement dans ce cas-ci, ct juste une remarque pour la lecture)
Marsh Posté le 01-12-2004 à 22:22:41
En fait si
Code :
|
se trouve avant la déclaration
Code :
|
ca marche , sinon erreur de compilation , c'est la que j'ai du mal je croyais que l'ordre n'avait pas d influence . sinon mon code complet ( c'est mon premier code en java et mon niveau math est 2nde donc no critique )
Code :
|
par contre t.length vaut 0 si je lui met en parametre n ( new boolean[n] ) alors que si je fais un System.out.println(n) ;
il m'affiche bien la valeur recue en argument et le code marche si je met directement un int dans la déclaration ( ex : new boolean [9999] ; )
Marsh Posté le 01-12-2004 à 22:24:32
noms de methodes -> une minuscule en premier caractere
ton int n était ou avant?
"Cherche" est dans le meme source que NbPremiers?
Marsh Posté le 01-12-2004 à 22:26:02
aprés la déclaration de la méthode Affiche ()
Cherche est dans le meme source que NbPremiers ( Cherche.java )
Marsh Posté le 01-12-2004 à 22:30:56
KristaaL a écrit : aprés la déclaration de la méthode Affiche () |
euh, tu l'avais sans doute mis en dehors de la classe NbPremiers alors... !?
Marsh Posté le 01-12-2004 à 22:34:22
balance le code qui compile pas pour voir
Marsh Posté le 01-12-2004 à 22:35:45
Code :
|
Marsh Posté le 01-12-2004 à 22:46:11
Initialise ton tableau 't' dans ton constructeur après avoir initialisé 'n'.
Marsh Posté le 01-12-2004 à 22:48:04
ReplyMarsh Posté le 01-12-2004 à 22:50:01
J'ai déja essayé mais la j'ai un autre probleme partout ou je veux utiliser t[] il me met impossible de résoudre le symbole t a la ligne ...
Marsh Posté le 01-12-2004 à 22:56:03
Il faut initialiser t dans ton constructeur, mais la déclaration doit rester dans la portée de ta classe :
Code :
|
(note que ta variable 'n' ne sert à rien dans ton code et que je considère ici que 'recu' a une valeur correcte pour la taille d'un tableau)
Marsh Posté le 02-12-2004 à 07:19:36
Merci beaucoup . Je croyais qu une initialisation pouvait se faire dans le constructeur
( en effet 'n' ne sert plus a rien (avant elle servait pour la methode affiche () ) encore merci et bonne journée !
Marsh Posté le 01-12-2004 à 20:27:23
Bonsoir ,
je débute en java et j'ai déja un probleme ou je vois vraiment pas ou est le probleme
j'ai :
J'obtiens ( a la compilation ) :
illegal forwad reference
boolean [] t = new boolean [n] ;
^
Merci pour votre aide
Message édité par KristaaL le 01-12-2004 à 22:38:00