Question sur les classes (car problème lors de la compilation)
Bonjour tout le monde,
Je suis débutant en JAVA.
Voici ma classe main :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
package com.eclipsetotale;
import com.eclipsetotale.Ville.Capitale;
public class PremiereClasse {
public static void main(String[] args)
{
Ville[] v = new Ville[6];
Ville[] tableau = new Ville[6];
String[] tab = {"Marseille","Lille","Caen","Lyon","Paris","Nantes"};
int[] tab2 = {123456,78456,654987,75832165,1594,213};
for(int i=0; i<6;i++)
{
if(i<3)
{
Ville V = new Ville(tab[i],tab2[i],"France");
tableau[i] = V;
}
else
{
Capitale C = new Capitale(tab[i],tab2[i],"France","Sarko");
tableau[i] = C;
}
}
}
} |
J'ai un message d'erreur que voici :
Citation:
No enclosing instance of type 'Ville' is accessible. Must qualify the allocation with an encoding instance of type Ville.
Je ne comprends pas ce message.
Voici le code de ma classe Ville :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| package com.eclipsetotale;
public class Ville {
public static int nbreInstance = 0;
protected static int nbreInstanceBis = 0;
protected String nomVille;
protected String nomPays;
protected int nbreHabitant;
protected char categorie;
public Ville()
{
//On incrémente nos variables à chaque appel au constructeur
nbreInstance++;
nbreInstanceBis++;
System.out.println("Création d'une ville");
nomVille = "Inconnu";
nomPays = "Inconnu";
nbreHabitant = 0;
}
//constructeur d'instenciation
public Ville(String pNom, int pNbre, String pPays)
{
System.out.println("Création d'une ville avec des paramètres");
nomVille = pNom;
nomPays = pPays;
nbreHabitant = pNbre;
}
public static int getNbreInstance()
{
return nbreInstance;
}
public static void setNbreInstance(int nbreInstance) {
Ville.nbreInstance = nbreInstance;
}
public static int getNbreInstanceBis() {
return nbreInstanceBis;
}
public static void setNbreInstanceBis(int nbreInstanceBis) {
Ville.nbreInstanceBis = nbreInstanceBis;
}
public String getNomVille() {
return nomVille;
}
public void setNomVille(String nomVille) {
this.nomVille = nomVille;
}
public String getNomPays() {
return nomPays;
}
public void setNomPays(String nomPays) {
this.nomPays = nomPays;
}
public int getNbreHabitant() {
return nbreHabitant;
}
public void setNbreHabitant(int nbreHabitant) {
this.nbreHabitant = nbreHabitant;
}
public char getCategorie() {
return categorie;
}
public void setCategorie(char categorie) {
this.categorie = categorie;
}
protected void setCategorie(){
int bornesSuperieures[] = {0,1000,10000,100000,500000,1000000,5000000,1000000000};
char categories[] = {'?','A','B','C','D','E','G','H'};
int i = 0;
while(i<bornesSuperieures.length && this.nbreHabitant >= bornesSuperieures[i])
i++;
this.categorie = categories[i];
}
class Capitale extends Ville
{
private String president;
public Capitale()
{
super();
president = "aucun";
}
public Capitale(String nom, int hab, String pays, String president)
{
super(nom,hab,pays);
this.president = president;
}
}
} |
Je me demande si ce n'est pas à cause que j'ai mis ma classe "Capitale" dans ma classe "Ville" ?
Si je la mets en dehors, j'ai ce message d'erreur :
Citation:
The import com.eclipstotale.Ville.Capitale cannot be resolved
Merci d'avance pour votre aide.
beegees