débutant svp

débutant svp - Java - Programmation

Marsh Posté le 19-01-2005 à 12:46:25    

Salut,
 
Je suis en train de faire un petit prog pour gerer les membres d'un labo, et j'ai ma méthode ajoutMembre qui ne marche pas, et ??? va savoir pourquoi, je me le demande. Car à la compile ya pas d'erreur.
 

Code :
  1. public class Labo {
  2. String nom;
  3. int taille;
  4. int TAILLE_MAX = 5;
  5. String membres[] = new String[TAILLE_MAX];
  6. public Labo(String nom){
  7.  this.nom=nom;
  8. }
  9. public Labo(String nom, String membres[]){
  10.  this.nom=nom;
  11.  for(int i=0;i<membres.length;i++)
  12.   this.membres[i]=membres[i];
  13. }
  14. public void ajoutMembre (String m){
  15.  if (membres.length < TAILLE_MAX){
  16.   membres[membres.length + 1] = m;
  17.  }
  18. }
  19. public void affiche(){
  20.  System.out.println("Nom du labo : " + nom);
  21.  for(int i=0;i<membres.length;i++){
  22.   if(membres[i]!=null){
  23.    System.out.println("Membre " + i + " : " + membres[i]);
  24.   }
  25.  }
  26. }
  27. public static void main (String  args[]){
  28.  String[] essai = {"Boris","Yvan","Florent"};
  29.  Labo monLabo = new Labo("Mon Labo",essai);
  30.  monLabo.affiche();
  31.  monLabo.ajoutMembre("Le prof" );
  32.  monLabo.affiche();
  33. }
  34. }


 
Merci d'avance pour vos lanternes.

Reply

Marsh Posté le 19-01-2005 à 12:46:25   

Reply

Marsh Posté le 19-01-2005 à 12:50:23    

if (membres.length < TAILLE_MAX){


Ce test est toujours faux...
 
 
sans compter que :

membres[membres.length + 1] = m;


lèvera toujours une exception.


Message édité par Profil supprimé le 19-01-2005 à 12:53:18
Reply

Marsh Posté le 19-01-2005 à 12:56:52    

Je ne comprends pas pourquoi ?
 
Merci

Reply

Marsh Posté le 19-01-2005 à 13:04:02    

ben membres.length = 5 et TAILLE_MAX = 5
et 5 < 5 c forcément faux ! par contre 5 <= 5 me parait plus juste !
 
de manière générale, tu devrais utiliser une ArrayList plutôt que d'utiliser un tableau ! c'est beaucoup plus simple à gérer !!
http://java.sun.com/j2se/1.4.2/doc [...] yList.html

Reply

Marsh Posté le 19-01-2005 à 13:43:40    

oui, merci j'ai compris mon erreur.
 
Mais en fin de compte ce que je voulais en faisant  
"membres.length < TAILLE_MAX"
c'est plutot de savoir de case du tableau sont null, ou comporte un nom.
 
Comment puis je faire cette requete ? si c faisable
 

Reply

Marsh Posté le 19-01-2005 à 13:45:37    

en utilisant les listes (ArrayList) c plus simple parce que ajoutes et tu enleves comme tu veux... donc tu as juste à faire le test sur la taille et tu ajoutes tranquillement !
à mon avis, ne persiste pas dans les tableaux (String [])...

Reply

Marsh Posté le 19-01-2005 à 13:48:14    

okay merci, je vais tester ca de suite

Reply

Sujets relatifs:

Leave a Replay

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