Exercice en java
lindap
Messages postés
86
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
public class Cercle {
static float pi = 3.1416f;
float rayon;
public Cercle(float rayon)
{ this.rayon = rayon; }
public float surface()
{ return rayon * rayon * pi;}
}
dans l'exécution de ce programme sur netBeans il y a une erreur la voici :
class cercle is public, should be declared in a file named cercle.java
j'arrive pas a comprendre ou dois je déclarer cette classe svp??
public class Cercle {
static float pi = 3.1416f;
float rayon;
public Cercle(float rayon)
{ this.rayon = rayon; }
public float surface()
{ return rayon * rayon * pi;}
}
dans l'exécution de ce programme sur netBeans il y a une erreur la voici :
class cercle is public, should be declared in a file named cercle.java
j'arrive pas a comprendre ou dois je déclarer cette classe svp??
4 réponses
-
Le message d'erreur est assez explicite, toute classe publique doit être enregistrée dans un fichier java qui porte son nom.
Ta classe Cercle devra donc être dans le fichier Cercle.java -
Salut,
Ton programme n'est pas exécutable directement.
Il doit l'être à partir du programme qui doit l'utiliser.
Exemple depuis la méthode main(...) du programme de l'utilisateur:
Cercle unCercle; unCercle = new Cercle(10f); // on passe le rayon au constructeur float surface = unCercle.surface; // on récupère la surface System.out.println("Surface: " + surface);
Mais (Poo oblige) ta class Cercle et son constructeur doivent être modifiés:
public class Cercle { private float pi = 3.1416f; private float rayon; public float surface; public Cercle(float valRayon) { rayon = valRayon; surface = rayon * rayon * pi; }
Cordialement,
Dan-
Non, la classe Cercle n'a pas besoin d'être modifié, surface est une propriété du cercle, ça ne fait pas partie de la structure de ce cercle, ce doit donc bien être une méthode !
On aura alors : float surface = unCercle.surface(),
Remarque : la constante Math.PI existe, autant s'en servir...
-
-
-
Ps,
Une remarque tout de même:
L'utilisation d'un constructeur n'a rien dobligatoire...
public class Cercle { private float pi = 3.1416f; private float surface; public float CalculerLaSurfaceDunCercle(float rayon) { surface = rayon * rayon * pi; return surface; } }
et la partie utilisation depuis la méthode main(...
Cercle c = new Cercle(); float surface = c.CalculerLaSurfaceDunCercle(10f); System.out.println("Surface: " + surface);
Dan