Java- erreur ArrayList

Résolu/Fermé
timon44 Messages postés 53 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 17 décembre 2010 - 10 août 2009 à 15:57
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 10 août 2009 à 16:33
Bonjour, je suis en train de programmer un petit annuaire en implémentant la collection arraylist.
Mais j'ai une erreure dans ma méthode ajouterNumero ... si quelqu'un pouvait m'aider ...

import java.util.*;


public class Personne {
	String nom;
	String prenom;
	Collection <String> lesNumeros;
	
	public Personne (String nom, String prenom){
		this.nom=nom;
		this.prenom=prenom;
		ArrayList<String> lesNumeros = new ArrayList<String>();
	}
	
	public void ajouterNumero(String num){
		if(!lesNumeros.contains(num)){lesNumeros.add(num);}
	}
	
	public void afficherNum(){
		Iterator<String> iter= lesNumeros.iterator();
		while(iter.hasNext()){System.out.print(iter.next());}
	}
	
	void setNom(String name){nom=name;}
	void sePrenom(String p){prenom=p;}
	String getNom(){return nom;}
	String getPrenom(){return prenom;}
}


et la classe utilisatrice :

public class Util {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Personne p = new Personne("Simon",Reter");
		p.ajouterNumero("0698995986");
		p.afficherNum();
		
	}

}


Merci beaucoup !
A voir également:

1 réponse

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
10 août 2009 à 16:33
Bonjour,


Ton erreur vient de ton constructeur, lors de l'initialisation de la collection :
ArrayList<String> lesNumeros = new ArrayList<String>();


Avec ce code tu déclare une variable 'lesNumeros' locale au constructeur, mais en aucun cas n'instancie ta variable d'objet 'lesNumeros'.

Corrige donc en supprimant le 'ArrayList<String>' devant pour avoir ceci :
   this.lesNumeros = new ArrayList<String>();


Et pour être plus clair, je serai toi je créerai également des getters / setters pour cette propriété.
1