Problème Java
q.bruneau
-
q.bruneau -
q.bruneau -
Bonsoir, je viens de terminer un exercice en java et le programme me trouve une erreur que je n'arrive pas du tout à résoudre (je prog sous eclipse)
voilà la ligne qui ne va pas :
public void toString()
{
String str;
if (forfait == true)
{
//Si la personne possède un forfait on retourne une phrase qui l'indique
System.out.println(super.toString() + " a un forfait");
}
else
{
//Sinon on retourne une phrase qui indique qu'elle n'en a pas
System.out.println(super.toString() + " n'a pas de forfait");
}
}
j'ai mis en gras ce que le programme me souligne si quelqu'un à une idée car c'est à rendre demain
merci
voilà la ligne qui ne va pas :
public void toString()
{
String str;
if (forfait == true)
{
//Si la personne possède un forfait on retourne une phrase qui l'indique
System.out.println(super.toString() + " a un forfait");
}
else
{
//Sinon on retourne une phrase qui indique qu'elle n'en a pas
System.out.println(super.toString() + " n'a pas de forfait");
}
}
j'ai mis en gras ce que le programme me souligne si quelqu'un à une idée car c'est à rendre demain
merci
A voir également:
- Problème Java
- 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
7 réponses
je vais te poster tout le prog sa va être long désolé
Classe personne
public class Personne
{
//Déclaration des variables protégées
protected String nom;
protected int age;
//Constructeur de la classe recevant en parametre une chaine et un entier
public Personne(String nom, int age)
{
this.nom = nom;
this.age = age;
}
//Setter de nom
public void setNom(String nom)
{
this.nom = nom;
}
//Setter de age
public void setAge(int age)
{
this.age = age;
}
//Getter de nom
public String getNom()
{
return (nom);
}
//Getter de age
public int getAge()
{
return (age);
}
//Méthode qui permet de retourner une chaine contenant nom et age
public String toString()
{
//On retourne la phrase ainsi créée
return (nom + "(" + age + " ans)");
}
//Programme principal qui utilise les méthodes de la classe
public static void main(String[] args)
{
Personne P = new Personne("Prénom Nom", 22); //Ajout d'une personne
//On affiche nom et age à l'aide des getters
System.out.println("Nom: " + P.getNom());
System.out.println("Age: " + P.getAge());
System.out.println(P.toString()); //Affichage avec appel de toString
P.setNom("Thomas Caillot"); //On change le nom
P.setAge(21); //On change l'age
System.out.println(P.toString()); //Affichage avec appel de toString
}
}
__________________________________________________________________________________________
Classe Skieur
public class Skieur extends Personne
{
//Déclaration d'une variable protégée
protected boolean forfait;
//Constructeur de la classe qui reçoit une chaine, un entier, un booléen
public Skieur(String nom, int age, boolean forfait)
{
super(nom, age); //Construction d'une personne
this.forfait = forfait;
}
//Setter de forfait
public void setForfait(boolean forfait)
{
this.forfait = forfait;
}
//Getter de forfait
public boolean getForfait()
{
return (forfait);
}
//Méthode qui affiche une chaine contenant nom, age
//et si la personne possède ou non un forfait
public void toString()
{
String str;
if (forfait == true)
{
//Si la personne possède un forfait on retourne une phrase qui l'indique
System.out.println(super.toString() + " a un forfait");
}
else
{
//Sinon on retourne une phrase qui indique qu'elle n'en a pas
System.out.println(super.toString() + " n'a pas de forfait");
}
}
//Programme principal qui utilise les méthodes de la classe
public static void main(String[] args)
{
Skieur S = new Skieur("Prénom Nom", 22, true); //Ajout d'un skieur
S.toString(); //Affichage avec appel de toString
S.setForfait(false); //Changement du parametre de forfait
S.toString(); //Affichage avec appel de toString
}
}
__________________________________________________________________________________________
Classe Slalomeur
public class Slalomeur extends Skieur
{
//Déclaration d'une variable privée
private double temps;
//Constructeur recevant en parametre un skieur
public Slalomeur(Skieur S)
{
super(S.nom, S.age, S.forfait);
if (forfait == false)
{
//On affiche un avertissement si le skieur n'a pas de forfait
System.out.println(S.nom + " doit se procurer un forfait avant le début de l'épreuve");
}
temps = 0; //Initialisation du temps à 0
}
//Setter de temps
public void setTemps(double temps)
{
if (forfait == true)
{
//On enregistre le temps si le skieur a un forfait
this.temps = temps;
}
else
{
//Sinon on affiche un avertissement
System.out.println("Le skieur n'a pas de forfait");
}
}
//Getter de temps
public double getTemps()
{
return (temps);
}
//Méthode qui affiche nom, age et temps de course
public void toString()
{
if (forfait == true)
{
//Si le slalomeur a un forfait on affiche la phrase
System.out.println(nom + " (" + age + "): " + temps + " secondes");
}
else
{
//Sinon on affiche un avertissement
System.out.println(nom + " ne peut pas participer sans forfait");
}
}
//Programme principal qui utilise les méthodes de la classe
public static void main(String[] args)
{
Skieur S = new Skieur("Prénom Nom", 22, true); //Ajout d'un skieur
Slalomeur Sl = new Slalomeur(S); //Ajout d'un slalomeur à partir du skieur
Sl.setTemps(188); //On met le temps à 188
Sl.toString(); //On affiche avec toString
Sl.setForfait(false); //On change l'etat du forfait
Sl.setTemps(118); //On essaie de mettre un nouveau temps
Sl.toString(); //Et on affiche pour voir le cas interdit
}
}
___________________________________________________________________________________________
voilà merci d'avance
Classe personne
public class Personne
{
//Déclaration des variables protégées
protected String nom;
protected int age;
//Constructeur de la classe recevant en parametre une chaine et un entier
public Personne(String nom, int age)
{
this.nom = nom;
this.age = age;
}
//Setter de nom
public void setNom(String nom)
{
this.nom = nom;
}
//Setter de age
public void setAge(int age)
{
this.age = age;
}
//Getter de nom
public String getNom()
{
return (nom);
}
//Getter de age
public int getAge()
{
return (age);
}
//Méthode qui permet de retourner une chaine contenant nom et age
public String toString()
{
//On retourne la phrase ainsi créée
return (nom + "(" + age + " ans)");
}
//Programme principal qui utilise les méthodes de la classe
public static void main(String[] args)
{
Personne P = new Personne("Prénom Nom", 22); //Ajout d'une personne
//On affiche nom et age à l'aide des getters
System.out.println("Nom: " + P.getNom());
System.out.println("Age: " + P.getAge());
System.out.println(P.toString()); //Affichage avec appel de toString
P.setNom("Thomas Caillot"); //On change le nom
P.setAge(21); //On change l'age
System.out.println(P.toString()); //Affichage avec appel de toString
}
}
__________________________________________________________________________________________
Classe Skieur
public class Skieur extends Personne
{
//Déclaration d'une variable protégée
protected boolean forfait;
//Constructeur de la classe qui reçoit une chaine, un entier, un booléen
public Skieur(String nom, int age, boolean forfait)
{
super(nom, age); //Construction d'une personne
this.forfait = forfait;
}
//Setter de forfait
public void setForfait(boolean forfait)
{
this.forfait = forfait;
}
//Getter de forfait
public boolean getForfait()
{
return (forfait);
}
//Méthode qui affiche une chaine contenant nom, age
//et si la personne possède ou non un forfait
public void toString()
{
String str;
if (forfait == true)
{
//Si la personne possède un forfait on retourne une phrase qui l'indique
System.out.println(super.toString() + " a un forfait");
}
else
{
//Sinon on retourne une phrase qui indique qu'elle n'en a pas
System.out.println(super.toString() + " n'a pas de forfait");
}
}
//Programme principal qui utilise les méthodes de la classe
public static void main(String[] args)
{
Skieur S = new Skieur("Prénom Nom", 22, true); //Ajout d'un skieur
S.toString(); //Affichage avec appel de toString
S.setForfait(false); //Changement du parametre de forfait
S.toString(); //Affichage avec appel de toString
}
}
__________________________________________________________________________________________
Classe Slalomeur
public class Slalomeur extends Skieur
{
//Déclaration d'une variable privée
private double temps;
//Constructeur recevant en parametre un skieur
public Slalomeur(Skieur S)
{
super(S.nom, S.age, S.forfait);
if (forfait == false)
{
//On affiche un avertissement si le skieur n'a pas de forfait
System.out.println(S.nom + " doit se procurer un forfait avant le début de l'épreuve");
}
temps = 0; //Initialisation du temps à 0
}
//Setter de temps
public void setTemps(double temps)
{
if (forfait == true)
{
//On enregistre le temps si le skieur a un forfait
this.temps = temps;
}
else
{
//Sinon on affiche un avertissement
System.out.println("Le skieur n'a pas de forfait");
}
}
//Getter de temps
public double getTemps()
{
return (temps);
}
//Méthode qui affiche nom, age et temps de course
public void toString()
{
if (forfait == true)
{
//Si le slalomeur a un forfait on affiche la phrase
System.out.println(nom + " (" + age + "): " + temps + " secondes");
}
else
{
//Sinon on affiche un avertissement
System.out.println(nom + " ne peut pas participer sans forfait");
}
}
//Programme principal qui utilise les méthodes de la classe
public static void main(String[] args)
{
Skieur S = new Skieur("Prénom Nom", 22, true); //Ajout d'un skieur
Slalomeur Sl = new Slalomeur(S); //Ajout d'un slalomeur à partir du skieur
Sl.setTemps(188); //On met le temps à 188
Sl.toString(); //On affiche avec toString
Sl.setForfait(false); //On change l'etat du forfait
Sl.setTemps(118); //On essaie de mettre un nouveau temps
Sl.toString(); //Et on affiche pour voir le cas interdit
}
}
___________________________________________________________________________________________
voilà merci d'avance
Bonjour,
Il manque des choses, t'as pas tout mis là non ?
Il manque la déclaration du booléen forfait. de "super"???
Chose très bizarre, tu appelles une méthode (toString()) alors que tu es à l'intérieur de celle-ci?. Très bizarre ton code...
Peut être que ton soucis viens que ToString existe déjà dans le framework.
Il manque des choses, t'as pas tout mis là non ?
Il manque la déclaration du booléen forfait. de "super"???
Chose très bizarre, tu appelles une méthode (toString()) alors que tu es à l'intérieur de celle-ci?. Très bizarre ton code...
Peut être que ton soucis viens que ToString existe déjà dans le framework.
Moi je fais du C#, pas de Java.
t'es sur que l'on peut faire un System.out.println dans une méthode?
t'es sur que l'on peut faire un System.out.println dans une méthode?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oui une methode main pour chaque classe car dans l'exercice il est demander de tester chaque classe a chaque fois, après ne faire qu'une méthode je vois pas trop comment faire