IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Exercice "Programmation Java pour les enfants, les parents et les grands parents"


Sujet :

avec Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Exercice "Programmation Java pour les enfants, les parents et les grands parents"
    Bonjour/Bonsoir à tous,

    Je suis très débutant en Java, actuellement j'apprend avec "Programmation Java pour les enfants, les parents et les grands parents "

    et je bloque sur l'exercice n°2 qui consiste à créer une classe "Voiture" de lui donné des méthodes etc.

    Et de créer à côté une autre classe "PropriétaireVoiture" qui crée une instance de l'objet "Voiture" et d'appeler les méthodes.

    Voici l'exercice :
    1. Crée une nouvelle classe Voiture possédant
    les méthodes suivantes :
    public void démarrer()
    public void arrêter()
    public int rouler(int durée)
    La méthode rouler() doit renvoyer la distance
    totale parcourue par la voiture pendant un
    temps donné. Utilise la formule suivante pour
    calculer la distance :
    distance = durée * 60;
    2. Ecris une autre classe, PropriétaireVoiture,
    qui crée une instance de l'objet Voiture et
    appelle ses méthodes. Le résultat de chaque
    appel de méthode doit être affiché à l'aide de
    System.out.println().
    Donc pour la classe "Voiture" ça me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
    public class Voiture {
     
    			int distance;
    			int durée;
     
    			public void démarrer() {
     
    				System.out.println("Je met le contact");
    			}
    			public void arrêter() {
     
    				System.out.println("J'ai plus d'essence !");
    			}
    			public int rouler(int durée) {
     
    				distance = durée * 60;
    				return distance;
     
    			}
     
    	}
    et pour la seconde classe qui est "PropriétaireVoiture" je me creuse la tête et je trouve pas, je sais même pas si ma classe "Voiture" est juste.

    Pour la classe voiture j'ai déjà fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class PropriétaireVoiture {
     
    	public static void main(String[] args) {
     
    		Voiture propriétaireVoiture = new Voiture();
     
     
     
    	}
     
    }
    Donc voilà un petit coup de pouce ne serait pas de refus.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Je n'aime pas trop la question 2, je trouve qu'elle est mal posée.

    - D'abord, la classe s'appelle PropriétaireVoiture. C'est pas bien, ça correspond pas à ce qu'on lui demande de faire. Du coup il y a de quoi s'embrouiller. Elle devrait s'appeler UtiliserUneVoiture.
    - Ensuite, elle demande que le résultat de chaque appel de méthode soit affiché. C'est impossible puisque deux des méthodes sont void et n'ont donc pas de résultat.

    Mais bon, voyons ce qu'on peut faire.

    * D'abord le nom de ta variable propriétaireVoiture va t'embrouiller. Il ne veut rien dire. C'est une variable dans laquelle il y a une Voiture. Donc il faut que ce soit un nom de voiture.
    Ça pourrait être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Voiture volvo = new Voiture();
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Voiture nissan = new Voiture();
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Voiture maVoiture = new Voiture();
    ou même Voiture voiture = new Voiture(); avec un v minuscule, si tu n'as pas peur de te tromper.

    Quelque chose comme ça, et ça ira déjà mieux.

    * Ensuite on te demande d'appeler les méthodes de la classe Voiture.
    ... Et... Tu le fais pas. Pourquoi ? Essaie d'appeler les méthodes. Comme ça, pour voir, essaie.
    Si ça t'embête parce que tu ne sais pas comment afficher les résultats, ne t'en occupe pas pour l'instant. Commence d'abord par appeler les méthodes. Quand ce sera fait, on s'occupera de voir ce qu'il faut afficher et comment.

    je sais même pas si ma classe "Voiture" est juste.
    Elle n'a pas de bug, mais elle est pas bien faite, difficile à comprendre.

    - les variables membres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int distance;
    int durée;
    elles ne devraient pas exister.

    -- Pour int durée, ça se voit je trouve. Tu l'as écrit deux fois. C'est pas normal voyons, il faut l'écrire une seule fois.
    int durée est le paramètre de la méthode rouler(). Ce n'est pas autre chose que ça. Donc ça ne devrait pas être écrit ailleurs que comme paramètre de la méthode rouler.

    -- Pour int distance c'est simplement qu'elle n'a pas besoin d'être variable membre.
    Pourquoi ? Parce que :
    --- Elle ne sert que pour la méthode rouler(). Rien d'autre ne s'y intéresse.
    --- On ne cherche pas à mémoriser sa valeur entre deux appels à rouler(). À chaque fois qu'on appelle rouler(), la valeur précédente de int distance ne nous intéresse pas. On veut seulement lui donner une nouvelle valeur.
    Ça devrait donc être une variable locale, écrite à l'intérieur de la méthode rouler().
    Comme ça : int distance = durée * 60;.

    - "Je mets le contact" prend un s. Verbe mettre, première personne du singulier au présent de l'indicatif .

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Salut thelvin,

    merci encore pour m'avoir apporté ton aide au niveau de l'exercice, comme tu le dis il est très mal écris et du coup je pensais que c'était moi qui ne comprenait pas l'exercice, enfin bref ^^

    Je pense avoir réussi, voici pour la classe Voiture :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    public class Voiture {
     
     
    	int totalParcouru = 0;
     
    			public void démarrer() {
     
    				System.out.println("Je mets le contact");
    			}
    			public void arrêter() {
     
    				System.out.println("J'ai plus d'essence !");
    			}
    			public int rouler(int durée) {
     
    				int distance = durée * 60;
    				totalParcouru = totalParcouru + distance;
    				System.out.println("J'ai parcouru " +distance+ "Km");
    				System.out.println("Et j'ai rouler au total : " +totalParcouru+ "Km !");
    				return totalParcouru;
     
    			}
     
    	}
    Et pour la classe propriétaireVoiture qui m'a donné un peu de fil à retordre :p :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    public class ProprioVoiture extends Voiture {
     
    	public static void main(String[] args) {
     
    		Voiture Volvo = new Voiture();
     
    		Volvo.démarrer();
     
    		Volvo.rouler(3);
    		Volvo.rouler(6);
     
    		Volvo.arrêter();
     
    	}
     
    }
    Du coup dans la console voici ce que ça me donne :

    Je mets le contact
    J'ai parcouru 180Km
    Et j'ai rouler au total : 180Km !
    J'ai parcouru 360Km
    Et j'ai rouler au total : 540Km !
    J'ai plus d'essence !

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Pas mal. Mais maintenant dans la question 2 on te demande d'afficher les résultats. C'est la question 2, celle où tu as fini d'écrire la classe Voiture et que tu ne peux plus la modifier.
    C'est donc la classe ProprioVoiture qui doit se charger d'afficher des trucs.

    Ça concerne bien sûr la méthode rouler(), vu que c'est la seule qui renvoie un résultat. Puisqu'elle s'occupe de renvoyer une valeur, elle ne devrait pas se charger de l'afficher. Ce n'est pas son rôle.
    Écrit comme ça, dans ton programme, ça ne sert à rien que rouler() renvoie une valeur, puisque tu ne fais rien avec cette valeur. Tu dois donc changer ton programme, pour faire quelque chose avec cette valeur : l'afficher (et donc ne pas l'afficher autrement que de cette manière-là.)


    (Et sinon, une variable devrait toujours commencer par une minuscule. Donc ça ne devrait pas être Voiture Volvo mais Voiture volvo)

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/12/2013, 10h57
  2. Réponses: 6
    Dernier message: 28/05/2012, 22h01
  3. Programmation Java pour les enfants, les parents et les grands-parents
    Par imaintsoanala dans le forum Général Java
    Réponses: 1
    Dernier message: 25/01/2011, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo