Problème "cannot find symbol" sous java
Fermé
J2D2
-
11 nov. 2008 à 19:54
J2D2 Messages postés 1 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 12 novembre 2008 - 12 nov. 2008 à 20:04
J2D2 Messages postés 1 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 12 novembre 2008 - 12 nov. 2008 à 20:04
A voir également:
- Problème "cannot find symbol" sous java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Télécharger jeux java gameloft gratuit - Forum Mobile
- Java décompiler - Télécharger - Langages
6 réponses
Edit : la première erreure, a savoir :"cannot find symbol class Point" a été réglée, néanmoins la deuxième persiste, aidez moi svp, je n'en peux plus
Bonsoir, Marco la baraque, tout d'abords, merci beaucoup pour ton aide, mais voila mon petit problème : je comprend +/- ta remarque (je vais la relire une ou deux fois pour bien etre sur de la comprendre a 100%) mais alors comment faire? mon prof nous avait montré les Try Catch ... le problème est que je ne sais pas comment l'ecrire ici, j'ai essayer quelque chose :
//Constructeur
public Rectangle (Point coinSupGauche, Point coinInfDroit){
try {coinSupGauche.estAGauche(coinInfDroit); coinSupGauche.estEnHaut(coinInfDroit);
}
catch (Excepetion e){
System.out.println("Ce point n'est pas à gauche et en gaut du coin Inférieur Droit");}
}
this.coinSupGauche=coinSupGauche;
this.coinInfDroit=coinInfDroit;
}
seulement voila, il me met des erreurs à toutes les lignes ou j'utilise les variables "coinSupGauche" et "coinInfDroit", et puis des erreures du genre "illegal start of type" pour la ligne 15 et 16 (donc les deux "this."). a l'aide stp, je ne m'en sort vraiment plus :(
//Constructeur
public Rectangle (Point coinSupGauche, Point coinInfDroit){
try {coinSupGauche.estAGauche(coinInfDroit); coinSupGauche.estEnHaut(coinInfDroit);
}
catch (Excepetion e){
System.out.println("Ce point n'est pas à gauche et en gaut du coin Inférieur Droit");}
}
this.coinSupGauche=coinSupGauche;
this.coinInfDroit=coinInfDroit;
}
seulement voila, il me met des erreurs à toutes les lignes ou j'utilise les variables "coinSupGauche" et "coinInfDroit", et puis des erreures du genre "illegal start of type" pour la ligne 15 et 16 (donc les deux "this."). a l'aide stp, je ne m'en sort vraiment plus :(
alors, j'ai bien relu ton message, je pense l'avoir comprit complètement, mais comment fait tu ta classe? pourrait tu me la mettre stp?? je sais que sa serait plutôt a moi de la faire, et je jure de m'y mettre, mais comme sa j'ai la réponse, merci d'avance
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
12 nov. 2008 à 19:07
12 nov. 2008 à 19:07
le bloc try...catch il serait plutot quand tu appelles le constructeur...
la tu cherche a levé une exception dans le constructeur pour ça il te faudrait deja faire une classe avec ta nouvelle exception
la tu cherche a levé une exception dans le constructeur pour ça il te faudrait deja faire une classe avec ta nouvelle exception
public class pasGauchePasHautException extends Exception{}ensuite dans ton contructeur tu leve une exception en cas de probleme avec un throws
public Rectangle(Point coinSupGauche,Point coinInfDroit) throws pasGauchePasHautException { if (coinSupGauche.estAGauche(coinInfDroit)&& coinSupGauche.estEnHaut(coinInfDroit)) throw new pasGauchePasHautException(); this.coinSupGauche=coinSupGauche; this.coinInfDroit=coinInfDroit; }et mainttenant quand tu vas appellé le constructeur tu utiliseras le bloc try...catch comme ça
try{ Rectangle r = new Rectangle(Point coinSupGauche,Point coinInfDroit);} catch(pasGauchePasHautException e) {System.out.println("ce point n'est pas a gauche et en haut du coin inferieur droit");}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
12 nov. 2008 à 19:41
12 nov. 2008 à 19:41
Voilà, c'est exactement comme Mype l'a expliqué.
La seule modification que j'aurais apporté aurait été de définir le message d'erreur directement dans la classe d'exception :
Et comme ça, dans ton catch, tu as juste à faire un System.out.println(e.getMessage()); quelque soit le type d'exception que tu catches.
Cordialement,
La seule modification que j'aurais apporté aurait été de définir le message d'erreur directement dans la classe d'exception :
public class pasGauchePasHautException extends Exception { private static String msg = "ce point n'est pas a gauche et en haut du coin inferieur droit"; public String getMessage() { return msg; } }
Et comme ça, dans ton catch, tu as juste à faire un System.out.println(e.getMessage()); quelque soit le type d'exception que tu catches.
Cordialement,
J2D2
Messages postés
1
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2008
12 nov. 2008 à 20:04
12 nov. 2008 à 20:04
Merci a vous deux, je vais tester ça, j'irai voir mon prof de java demain au cas ou, et je mettra THE solution en ligne dès que je rentre, en tout cas merci a vous deux pour m'avoir donné un peu de votre temps.
12 nov. 2008 à 00:04
Tu ne peux pas faire
throw new
System.out.println("ce point n'est pas a gauche et en haut du coin inferieur droit");
Le mot clé throw permet de lancer une nouvelle exception, ce n'est pas ce que tu fais ici.
Soit tu écris simplement System.out.println("ce point n'est pas a gauche et en haut du coin inferieur droit"); , soit tu lances une exception : throw new Exception(); (en principe on le lève jamais une exception du type Exception, mais c'est pour l'exemple).
Personnellement, je créerais une classe qui étend Exception et dont le message d'erreur (message retourné par getMessage()) est celui que tu veux afficher. De cette manière tu pourras lever une telle exception.
Cordialement,