je suis actuellement une formation à distance pour apprendre le langage Java. j'ai un exercice à faire mais je n'y arrive pas.
je dois créer la méthode demarrer() dans la classe Car en initialisant l'attribut demarree (un booléen).
Lorsque j'appelle la méthode demarrer() dans la classe Start j'ai un message d'erreur "the method setDemarrer(boolean) in the type Car is not applicable for the argument"
Voici ma classe Car
package com.myschool.game.car;
public class Car {
String couleur;
int puissance;
boolean demarree;
String proprietaire;
public void setInitialize (String proprietaire, String couleur, int puissance) {
this.proprietaire = proprietaire;
this.couleur = couleur;
this.puissance = puissance;
}
public void setDemarrer (boolean demarree) {
this.demarree = demarree;
System.out.println("La voiture de " + proprietaire + " démarre !");
}
public void setVroomvroom () {
System.out.println("La voiture de " + proprietaire + " fait Vroom Vroom !");
}
}
et mon fichier
package com.myschool.game.car;
public class Start {
public static void main(String[] args) {
Car car1 = new Car();
Car car2 = new Car();
car1.setInitialize("maxime","rouge",10);
car2.setInitialize("Maelis", "bleue", 11);
car2.setDemarrer();
car2.setVroomvroom();
}
}
Ben tu mets ce que tu veux! ta méthode setDemarrer(boolean demaree) prend en paramètre un booleen, et fais un traitement en fonction de ce que tu mets en paramètre. (D'ailleurs le corps de ta fonction a peu de logique).
Ce que tu fais quand tu écris
car1.setDemarree(true);
C'est tout simplement dire à l'attribut demarree de ton objet car1 d'être égal à true (et tu fais un affichage en plus).
Si tu fais
car1.setDemarree(false);
tu dis à l'attribut demarree de ton objet car1 d'être égal à false.
Cette fonction setDemarrer(boolean demarree) est juste là pour changer l'état d'une variable de ton objet.
Toi ce que tu voudrais faire en écrivant cette fonction, c'est probablement de dire à la voiture de démarrer, non? Dans ce cas il faut que tu crées une méthode demarrer() qui ne prend pas de paramètre, et qui affiche tout simplement : "La voiture démarre";
excusez moi, j'ai oublié de préciser que je dois faire un if sur car2.setDemarree() pour savoir si la voiture est démarrée et ensuite lui faire faire vroom
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Un peuple prêt à sacrifier un peu de liberté pour plus de sécurité ne mérite ni l'une ni l'autre, et finit par perdre les deux.
Un peuple prêt à sacrifier un peu de liberté pour plus de sécurité ne mérite ni l'une ni l'autre, et finit par perdre les deux.