Java, OpenClassroom, exceptions
Résolu
iDarkMaster
Messages postés
114
Statut
Membre
-
iDarkMaster Messages postés 114 Statut Membre -
iDarkMaster Messages postés 114 Statut Membre -
Bonjour,
je suis un cours de java en ligne sur OpenClassroom et j'arrive aux exceptions,
même avec leur code, ça ne fonctionne pas.
Voici le code de mon Ville.java :
et celui de ma classe NombreHabitantException.java :
et celui de mon Program.java :
Si vous pourriez m'éclairer sur mon erreur, j'aimerais bien vous lire.
Lien de la page OpenClassroom: https://openclassrooms.com/fr/courses/6173501-debutez-la-programmation-avec-java?archived-source=26832
je suis un cours de java en ligne sur OpenClassroom et j'arrive aux exceptions,
même avec leur code, ça ne fonctionne pas.
Voici le code de mon Ville.java :
package project;
public class Ville {
protected String name, country;
protected int population;
protected char rank;
public static int instances;
protected static int instancesB;
public static int instNum(){
return instancesB;
}
public char getRank(){
return this.rank;
}
public String getName(){
return name;
}
public String getCountry(){
return country;
}
public int getPopulation(){
return population;
}
public void setName(String iName){
name = iName;
}
public void setCountry(String iCountry){
country = iCountry;
}
public void setPopulation(int iPopulation){
population = iPopulation;
}
public void getInfo(){
System.out.println("Name : " + name);
System.out.println("Country : " + country);
System.out.println("Population : " + population);
System.out.println("Rank : " + this.rank);
}
//Constructeurs
public Ville(){
System.out.println("Creating a city...");
population = 0;
name = "Unknown";
country = "Unknown";
this.setRank();
instances++;
instancesB++;
}
//Constructeur d'initialisation
public Ville(String pName, String pCountry, int pPopulation){
throws NombreHabitantException
{
if(pPopulation < 0)
throw new NombreHabitantException();
else
{
instances++;
instancesB++;
//System.out.println("Creation de " + pName + " !");
name = pName;
country = pCountry;
population = pPopulation;
this.setRank();
}
}
}
//Donneur de rang
protected void setRank(){
int rkP[] = {0, 1000, 10_000, 100_000, 500_000, 1_000_000};
char rk[] = {'A','B','C','D','E','F'};
int i = 0;
while (i < rkP.length && this.population > rkP[i]) {
i++;
this.rank = rk[i];
}
}
//comparateur
public void compare(Ville v1){
if (v1.getPopulation() < this.population)
System.out.println(this.name + " have more people than " + v1.getName());
else
System.out.println(v1.getName() + " have more people than " + this.name);
}
}
et celui de ma classe NombreHabitantException.java :
package project;
public class NombreHabitantException extends Exception {
public NombreHabitantException() {
System.out.println("Vous essayez d'instancier une classe Ville avec un nombre d'habitants negatif !");
}
}
et celui de mon Program.java :
package project;
public class Program {
public static void main(String[] args) {
try {
Ville v = new Ville("Toronto", "Canada", 12000);
}catch (NombreHabitantException e) {}
}
}
Si vous pourriez m'éclairer sur mon erreur, j'aimerais bien vous lire.
Lien de la page OpenClassroom: https://openclassrooms.com/fr/courses/6173501-debutez-la-programmation-avec-java?archived-source=26832
A voir également:
- Java, OpenClassroom, exceptions
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
1 réponse
Bonjour,
Ton erreur est ici :
Le problème vient de l'accolade avant le throws, Java compends que la méthode commence et que dans son contenu on a un throws, mais ça n'a pas de sens.
Un throws est forcément dans la signature de la méthode, donc avant les accolades.
Le code correct :
Ton erreur est ici :
public Ville(String pName, String pCountry, int pPopulation){
throws NombreHabitantException
{
Le problème vient de l'accolade avant le throws, Java compends que la méthode commence et que dans son contenu on a un throws, mais ça n'a pas de sens.
Un throws est forcément dans la signature de la méthode, donc avant les accolades.
Le code correct :
public Ville(String pName, String pCountry, int pPopulation) throws NombreHabitantException {
iDarkMaster
Messages postés
114
Statut
Membre
2
Merci, c'était une erreur idiote mais il faut faire des erreurs pour apprendre :)