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

Résolu/Fermé
clemence - 29 mars 2009 à 04:08
 clemence - 29 mars 2009 à 06:13
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 jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
29 mars 2009 à 06:06
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
merci beaucoup mype, ça fontionne :)
0