[newbie] Spécifier la taille d'un tableau par une variable ??

Spécifier la taille d'un tableau par une variable ?? [newbie] - Java - Programmation

Marsh Posté le 02-03-2007 à 18:53:00    

Bijour à tous,
 
Petite question : Est ce que spécifier la taille d'un tableau par une variable c'est correct ou il faut systématiquement passer par une constante ???  :??:  
 
ex :  

Code :
  1. int i = 10;
  2. int[] tab;
  3. tab = new int[i];


 
C'est accepté, correct ??? Je vous demande ça parcequ'en C++ mon prof préferait qu'on evite de specifier la taille d'un tableau par une variable, alors en JAVA ??
 
Merci !  :ange:

Reply

Marsh Posté le 02-03-2007 à 18:53:00   

Reply

Marsh Posté le 05-03-2007 à 11:49:09    

Une fois initalisé, la taille du tableau est invariable, et est accessible via l'attribut length.
Il n'est donc pas choquant d'initialiser un tableau avec une variable.
Alors qu'en C, la taille du tableau doit être stocké dans une "variable" géré par l'utilisateur. Pour éviter que cette variable soit altéré dans le code et donc indique une taille non correspondante à la taille du tableau le mieux est d'utiliser une constante qui diminuera les risque de modifications de l'information concernant la taille du tableau.


Message édité par phnatomass le 05-03-2007 à 11:51:49
Reply

Marsh Posté le 05-03-2007 à 12:25:58    

Le_Welche a écrit :

C'est accepté, correct ??? Je vous demande ça parcequ'en C++ mon prof préferait qu'on evite de specifier la taille d'un tableau par une variable, alors en JAVA ??

Remarque débile. Techniquement un tableau a une taille statique (connue à la compilation). Ce que tu fais avec new[] est une allocation dynamique et c'est bien pour ça que tu n'as pas les propriétés d'un tableau. Le mieux est d'utiliser std::vector<>.

Reply

Marsh Posté le 05-03-2007 à 12:36:09    

Le_Welche a écrit :

C'est accepté, correct ??? Je vous demande ça parcequ'en C++ mon prof préferait qu'on evite de specifier la taille d'un tableau par une variable, alors en JAVA ??


En Java, les deux sont techniquement corrects, mais si tu as une valeur hard-wired comme 10, il est d'usage d'en faire une constante. Sans doute ton prof veut-il éviter de voir des "magic numbers" partout dans le code.
 
   [:pingouino]  


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 05-03-2007 à 23:30:57    

Vais donc pouvoir faire ça par une variable...

 

Merci à vous !!!


Message édité par Le_Welche le 05-03-2007 à 23:33:02
Reply

Sujets relatifs:

Leave a Replay

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