domxaline | bonjour j'ai un pb avec mon prg quelqu'un peut m'aider s'il vous plaît,en compilant mon prg
j'ai erreur suivant;veuillez m'aidez s'il vous plaît
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The constructor Capitale(String, int, String, String) is undefined
at Mypackage1.Sdz1.main(Sdz1.java:24)
ligne 24 est:
Capitale C=new Capitale(tab[i],tab2[i],"france","Sarko" );
Code :
- package Mypackage1;
- public class Capitale extends Ville
- {
- private String president;
- //constructeur par defaut
- public Capitale()
- {
- //ce mot clé appelle le constructeur de la classe mère
- super();
- this.categorie=categorie;
- president="aucun";
- }
- //Description d'une capitale
- public String decrisToi()
- {
- String str=super.decrisToi()+"\n \t==>>"+this.president+"est son president";
- return str;
- }
- //return le nom du president
- public String getPresident()
- {
- return president;
- }
- //definit le nom du president
- public void setPresident(String President()
- {
- this.president=president;
- }
- }
|
Code :
- package Mypackage1;
- public class Ville
- {
- /*variable publiques qui comptent les instance*/
- public static int nbreInstance=0;
- /*variable privée qui comptera aussi les instances*/
- protected static int nbreInstanceBis=0;
- /*Stocke le nom de notre ville*/
- protected String nomVille;
- /*Stocke le nom du pays de notre ville*/
- protected String nomPays;
- /*Stocke le nombre d'habitants de notre ville*/
- protected int nbreHabitant;
- //Stocke le type de notre ville
- protected char categorie;
- //Constructeur par défaut*/
- public Ville()
- {
- //on incremente nos variables à chaque appel aux constructeurs
- nbreInstance++;
- nbreInstanceBis++;
-
- nomVille = "Inconnu";
- nomPays = "Inconnu";
- nbreHabitant=0;
-
- }
- //constructeur d'initialisation
- public Ville(String pNom,String pPays,int pNbre)
- {
- //on incremente nos variables à chaque appel aux constructeurs
- nbreInstance++;
- nbreInstanceBis++;
-
- nomVille=pNom;
- nomPays=pPays;
- nbreHabitant=pNbre;
- categorie=this.categorie;
- }
- //****************************************************************************************
- // ACCESSEURS
- //***************************************************************************************
- public static int getNombreInstanceBis()
- {
- return nbreInstanceBis;
- }
- //Retourne le nom de la ville
- public String getNom()
- {
- return nomVille;
- }
-
- //Retourne le nom du pays
- public String getNomPays()
- {
- return nomPays;
- }
-
- //Retourne le nombre d'habitants
- public int getNombreHabitant()
- {
- return nbreHabitant;
- }
-
- //Retourne la categorie de la ville
- public char getCategorie()
- {
- return categorie;
- }
- //***************************************************************************************
- // MUTATEURS
- //***************************************************************************************
- //Definit le nom de la ville
- public void setNom(String pNom)
- {
- nomVille=pNom;
- }
-
- //Definit le nom du pays
- public void setNomPays(String pPays)
- {
- nomPays=pPays;
- }
-
- //Definit le nombre d'habitants
- public void setNombreHabitant(int nbre)
- {
- nbreHabitant=nbre;
- this.setCategorie();
- }
-
- //********************************************************************
- // METHODES DE CLASSE
- //********************************************************************
- //Definit la categorie de la ville
- protected void setCategorie()
- {
- int bornesSuperieurs[]={0,1000,10000,100000,500000,1000000,5000000,10000000};
- char categories[]={'?','A','B','C','D','E','F','G','H'};
- int i=0;
- while(i<bornesSuperieurs.length && this.nbreHabitant>=bornesSuperieurs[i])
- i++;
- this.categorie=categories[i];
- }
-
-
-
- //Retourne la description de la ville
- public String decrisToi()
- {
- return "\t"+this.nomVille+" est une ville de "+this.nomPays+",elle comporte:"+this.nbreHabitant+this.categorie+"=>elle est donc de categorie:"+this.categorie;
- }
-
- //Retourne une chaîne de caracteres selon le resultat de la comparaison
- public String comparer (Ville v1)
- {
- String str=new String();
- if (v1.getNombreHabitant()>this.nbreHabitant)
- str=v1.getNom()+"est une ville plus peuplée que"+this.nomVille;
- else
- str=this.nomVille+" est une ville plus peuplée que "+v1.getNom();
- return str;
- }
-
- }
-
- [cpp]
- package Mypackage1;
-
- public class Sdz1
- {
- public static void main(String[] args)
- {
- // def d'un tableau de ville null
- Ville[]tableau=new Ville[6];
-
- //definition d'un tableau de noms de villes et d'un tableau de nombres d'habitants
- String[] tab={"Marseille","Lille","Caen","Lyon","Paris","Nantes"};
- int[] tab2={123456,78456,654987,75832165,1594,213};
-
- //les 3 premiers éléments du tableau seront des Villes,et le reste,des Capitales
- for(int i=0;i<6;i++)
- {
- if(i<3)
- {
- Ville V=new Ville(tab[i],"france",tab2[i]);
- tableau[i]=V;
- }
- else
- {
- Capitale C=new Capitale(tab[i],tab2[i],"france","Sarko" );
- tableau[i]=C;
- }
- }
- //il ne nous reste plus qu'a décrire tout notre tableau
- for(Ville v:tableau)
- {
- System.out.println(v.decrisToi()+"\n" );
- }
-
- }
- }
|
[/cpp] |