Java, OpenClassroom, exceptions
Résolu
iDarkMaster
Messages postés
97
Date d'inscription
Statut
Membre
Dernière intervention
-
iDarkMaster Messages postés 97 Date d'inscription Statut Membre Dernière intervention -
iDarkMaster Messages postés 97 Date d'inscription Statut Membre Dernière intervention -
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
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
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
97
Date d'inscription
Statut
Membre
Dernière intervention
2
Merci, c'était une erreur idiote mais il faut faire des erreurs pour apprendre :)