Tableau d'Objets en JAVA qui ne s'affiche pas

Résolu
clemence -  
 clemence -
Bonjour,
j'ai crée 3 objets "capitale" dont les variables d'instances sont des noms de villes et des noms de pays.
j'ai ensuite mis ces objets dans un tableau "repertoire"
puis créer un nouveau tableau avec une case en plus qui doit contenir un nvl objet "capitale"
mais mon programme ne veut pas s'executer.
mon tableau initial a pourtant été initialisé avec une taille égale à 3.
Pourriez-vous m'aider à trouver le hic? je vous remercie :)

le message d'erreur est le suivant:

capitalo.java:42:array required, but Repertoire found
R[0]=new Capitale("paris","france");
capitalo.java:43:array required, but Repertoire found
R[1]=new Capitale("rome","italie");
capitalo.java:44:array required, but Repertoire found
R[2]=new Capitale("espagne","espagne");


voici mon code:

class Capitale{
String ville;
String pays;

public Capitale(String v,String p){
this.ville=v;
this.pays=p;
}

void affiche(){
System.out.println("ville "+this.ville);
System.out.println("pays "+this.pays);
}
}

class Repertoire{
Capitale[]R;

public Repertoire(int t){
R=new Capitale[t];
}

void ajouter(Capitale C){
Capitale[]R1=new Capitale[R.length+1];
for (int i=0;i<this.R.length;i++){
R1[i]=this.R[i];
}
R1[this.R.length]=C;
this.R=R1;
}

void afficher(){
for(int i=0;i<this.R.length;i++){
R[i].affiche();
}
}
}

public class capitalo{
public static void main(String[]args){
Repertoire R=new Repertoire(3);
R[0]=new Capitale("paris","france");
R[1]=new Capitale("rome","italie");
R[2]=new Capitale("madrid","espagne");
R.ajouter(new Capitale("bruxelles","belgique"));
R.afficher();
}
}
A voir également:

1 réponse

mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
il faudrait que tu utilises la variable de ton objet repertoire
Repertoire Rep=new Repertoire(3); 
rep.R[0]=new Capitale("paris","france"); 
rep.R[1]=new Capitale("rome","italie"); 
rep.R[2]=new Capitale("madrid","espagne");
1
clemence
 
merci beaucoup mype, ça fontionne :)
0