[Java] Iterator , problème de type

Résolu
timon44 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -  
Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'ai un petit problème, dans le code suivant, dans ma méthode AfficheNumero, eclipse me dit que lesNumeros n'est pas un type ... et donc bug.


import java.util.*;

public class Personne {
	String nom;
	String prenom;
	ArrayList<String> lesNumeros = new ArrayList<String>();
	


public void setNom(String name){
	nom=name;
}

public void setPrenom(String pren){
	prenom=pren;
}

public void setNumero(String num){
	lesNumeros.add(num);
}

public String getNom(){
	return nom;
}

public String getPrenom(){
	return prenom;
}

public void SupprimerNumero(String num){
	if (lesNumeros.contains(num)) {
		int pos=(lesNumeros.indexOf(num));
		lesNumeros.remove(pos);}
	else {System.out.print("numero non existant");}
	
}


public void ModifierNumero(String numFaux,String numBon){
	if (lesNumeros.contains(numFaux)) {
		int pos=(lesNumeros.indexOf(numFaux));
		lesNumeros.set(pos, numBon);}
	else {System.out.print("numero non existant");}
	
}

int cpt=0;
public void AfficherNumeros(){
	Iterator<String> iter = new lesNumeros.Iterator();
	while (iter.hasNext()){
		System.out.println(lesNumeros[cpt];)
		cpt++;
		
	}
		

	
}


}



Si quelqu'un pouvais m'aider ...
Merci !
A voir également:

1 réponse

Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   329
 
Bonsoir Timon44,
Il faut écrire : Iterator<String> iter = lesNumeros.iterator();

Ce que tu écris n'est pas correct, car tu fais un new sur lesNumeros (alors que c'est un attribut, et non pas le nom d'une classe, c'est ce que t'affiche ton message d'erreur). Suite à ça, il faut appeler la méthode iterator() et non pas Iterator() (qui n'existe pas) sur ton attribut (car c'est une instance de classe qui implémente Collection (indirectement), et un itérateur sur cette instance est déjà disponible).

Cordialement,
0