Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

newbie : créer un tableau d'int

8 réponses
Avatar
Pascal
Bonjour,
J'ai un problème bizarre. J'ai une variable dimHyperplan de type int. Si
je fais int [3] tab ca marche. Mais si je fais int [dimHyperplan] tab.
Ca marche plus. Jbuilder me dit qu'il manque un ']' a la fin de la ligne...
Voici le code source :

public class Methode {

/*dimension de l'hyperplan*/
final static public int dimHyperplan;
/*coordonné d'un premier point*/
private int [dimHyperplan] hyperlan1; <---- la ca merde...
--
Pascal

8 réponses

Avatar
Pascal
Pascal wrote:
Bonjour,
J'ai un problème bizarre. J'ai une variable dimHyperplan de type int. Si
je fais int [3] tab ca marche. Mais si je fais int [dimHyperplan] tab.
Ca marche plus. Jbuilder me dit qu'il manque un ']' a la fin de la ligne...
Voici le code source :

public class Methode {

/*dimension de l'hyperplan*/
final static public int dimHyperplan;
/*coordonné d'un premier point*/
private int [dimHyperplan] hyperlan1; <---- la ca merde...


Bon j'ai trouvé finalement, une erreur de syntaxe. J'ai juste un autre
problème. Jbuilder refuse de compiler ceci :

private int [] hyperlan1 = new int [dimHyperplan];

car il me dit dimHyperplan est une variable non initialisée. Comment
faire alors? Y a t il un objet plus approprié pour faire ceci?
--
Pascal

Avatar
Olivier
essaie ça :

int [] hyperlan1 = new int[dimHyperplan];


"Pascal" a écrit dans le message de
news:40727301$0$19485$
Bonjour,
J'ai un problème bizarre. J'ai une variable dimHyperplan de type int. Si
je fais int [3] tab ca marche. Mais si je fais int [dimHyperplan] tab.
Ca marche plus. Jbuilder me dit qu'il manque un ']' a la fin de la
ligne...

Voici le code source :

public class Methode {

/*dimension de l'hyperplan*/
final static public int dimHyperplan;
/*coordonné d'un premier point*/
private int [dimHyperplan] hyperlan1; <---- la ca merde...
--
Pascal


Avatar
Olivier
C normal qu'il ne soit pas content, il faut que tu initialise la variable
"dimHyperplan" avant
de faire "private int [] hyperlan1 = new int [dimHyperplan];"


"Pascal" a écrit dans le message de
news:407274f7$0$19483$
Pascal wrote:
Bonjour,
J'ai un problème bizarre. J'ai une variable dimHyperplan de type int. Si
je fais int [3] tab ca marche. Mais si je fais int [dimHyperplan] tab.
Ca marche plus. Jbuilder me dit qu'il manque un ']' a la fin de la
ligne...


Voici le code source :

public class Methode {

/*dimension de l'hyperplan*/
final static public int dimHyperplan;
/*coordonné d'un premier point*/
private int [dimHyperplan] hyperlan1; <---- la ca merde...


Bon j'ai trouvé finalement, une erreur de syntaxe. J'ai juste un autre
problème. Jbuilder refuse de compiler ceci :

private int [] hyperlan1 = new int [dimHyperplan];

car il me dit dimHyperplan est une variable non initialisée. Comment
faire alors? Y a t il un objet plus approprié pour faire ceci?
--
Pascal



Avatar
Pascal
Olivier wrote:
C normal qu'il ne soit pas content, il faut que tu initialise la variable
"dimHyperplan" avant
de faire "private int [] hyperlan1 = new int [dimHyperplan];"


Ba non, car je ne peux pas l'initialiser avant vu que c'est une
variable. En fait il ne faut pas la mettre en final static. Et la ca marche.
--
Pascal

Avatar
Olivier
ça depend se que tu veux faire : comme tu l'avais écris, ton tableau était
figé.
Si tu veux fixer sa taille n'importe quand tu supprime le final et surtout
tu mets une valeur dans "dimHyperplan" avant de faire le "new int[dimHyp]"


"Pascal" a écrit dans le message de
news:40727884$0$19471$
Olivier wrote:
C normal qu'il ne soit pas content, il faut que tu initialise la
variable


"dimHyperplan" avant
de faire "private int [] hyperlan1 = new int [dimHyperplan];"


Ba non, car je ne peux pas l'initialiser avant vu que c'est une
variable. En fait il ne faut pas la mettre en final static. Et la ca
marche.

--
Pascal



Avatar
calimero
bonjour,

Effectivment tu ne peux pas définir une taille comme tu le fais avce une
variable non initialisée.

En gros tu lui dis :
je déclare une variable, je ne lui donne aucune valeur.
ensuite je dis précisement que je veux qu'un tableau d'entier ait une
taille de longueur.... ben une valeur qui n'a jamais été définie.


voilà comment tu peux faire :
int dimHyperplan;
int [] hyperlan1;

/*tu mets tout ton code ( tant que tu connais pas la taille )
évidement tu ne touches pas au tableau tant que tu ne l'as pas initialisé*/
....
....

//des que tu sais la taille tu alloues le tableau

dimHyperplan = la valeur que tu veux ;
hyperlan1=new int[taille];
//et tu mets la suite de ton code


En c++ *je pense* que ton code serai passé à la compilation mais il
aurait la taille d'un entier ( environ 32000 ).... donc fais attention
si un jour tu passes en c++.

voilà j'espere t'avoir aidé

P.S ( en fait je viens de voir que c'est la solution d'olivier)
Olivier wrote:

C normal qu'il ne soit pas content, il faut que tu initialise la variable
"dimHyperplan" avant
de faire "private int [] hyperlan1 = new int [dimHyperplan];"



Ba non, car je ne peux pas l'initialiser avant vu que c'est une
variable. En fait il ne faut pas la mettre en final static. Et la ca
marche.



Avatar
Pascal
calimero wrote:

En c++ *je pense* que ton code serai passé à la compilation mais il
aurait la taille d'un entier ( environ 32000 ).... donc fais attention
si un jour tu passes en c++.


Ba en fait je viens du C++. Et dans ce langage je maitrise un peu mieux
la STL, alors que sur Java, je connais pas grand chose.

--
Pascal

Avatar
calimero

Ba en fait je viens du C++. Et dans ce langage je maitrise un peu mieux
la STL, alors que sur Java, je connais pas grand chose.



Pareil ca m'a fait un peu bizare au début mais maintenant je m'y fais.