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

Langage Java Discussion :

Code Classe Movie


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Code Classe Movie
    Bonjour,

    Je voudrai avoir un avis sur le code que je vais vous proposer. Faites-moi part de vos conseils, me faire remarquer mes faux pas (syntaxe, clarté) et des outils pour une meilleure progression.
    Je ne sais pas comment écrire la sortie du film et afficher les instructions pour la méthode display.

    Voici un petit sujet(consigne):

    De la même manière que les livres, on pourrait vouloir avoir d’autres produits dans le panier. Ecrire une classeMovie. Un film doit avoir un titre et une année de sortie. Il a aussi un coût et un nombre d’exemplaires. Il possède un constructeur et deux méthodes display et getTotalPrice, tout comme un livre. Lorsqu’on affiche un film, on doit obtenir par exemple : The Imitation Game, sorti en 2014, 2 exemplaires à 14.99 euros, total : 29.98 euros

    Le code:

    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
    Class Movie {
     
    public static void main(String[] args) {
     
         String title;
         double price;
         int quantity;
     
         String titleMovie1 = "The Imitation Game";
         double price Movie = 14.99;
         int number Movie 1 = 2;
     
         double total = movie1.getTotalPrice();
         Systeme.out.println("Le cout du panier est" + total + "euros");
     
         void display();  
             system.out.println(text);
     
         double getTotalPrice();
              return price*quantity;
    Je vous remercie d'avance de votre réponse.

    Bien à vous,
    Poesie Alcaline

  2. #2
    Membre éprouvé
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 630
    Points : 1 029
    Points
    1 029
    Par défaut
    Bonsoir,

    Dans un premier temps les règles du forum stipulent qu'il faut mettre ton code dans une balise [CODE=Java], j'ai mis CODE=Java car ton langage est le Java.

    Ensuite concernant ton code, il faut créer une classe Movie à part dans un paquetage que tu peux appeller fr.monprojet.domaine par exemple où monprojet est le nom de ton projet. Il s'agit du guide des bonnes pratiques du Java.

    Ensuite, tu crées un paquetage fr.monprojet.application où là tu créer la classe Application contenant ton point d'entrée à l'application, la fameuse méthode
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    public static void main(String[] args) { ...}

    Par ailleurs tous les attributs doivent être mis en visibilité cachée et en lecture seule (donc non modifiable), c'est-à-dire en
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    private final String title;

    Tu devras par ailleurs créer un constructeur paramétré car les attributs sont en visibilité privée, ainsi que des accesseurs pour "accéder" à la valeur des attributs puis les fameuses méthodes display() et getTotalPrice().

    Voici un exemple de bonnes pratiques que tu pourras adopter.

    Code Java : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    package edu.bordeaux.domaine;
     
    public class Movie {
     
        private final String title;
        private final int dateSortie;
        private final double price;
        private final int quantity;
     
        public Movie(final String title, final int dateSortie, final double price, final int quantity) {
            this.title = title;
            this.dateSortie = dateSortie;
            this.price = price;
            this.quantity = quantity;
        }
     
        public String getTitle() {
            return title;
        }
     
        public int getDateSortie() {
            return dateSortie;
        }
     
        public double getPrice() {
            return price;
        }
     
        public int getQuantity() {
            return quantity;
        }
     
        public void display() {
            // The Imitation Game, sorti en 2014, 2 exemplaires à 14.99 euros, total : 29.98 euros
            System.out.println(this.getTitle() + ", sorti en " + this.getDateSortie() + ", " + this.getQuantity() + " exemplaires à "
                    + this.getPrice() + " euros, total : " + this.getTotalPrice() + " euros");
        }
     
        public double getTotalPrice() {
            return this.getPrice() * this.getQuantity();
        }
    }

    Code Java : 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
     
    package edu.bordeaux.application;
     
    import edu.bordeaux.domaine.Movie;
    import java.time.LocalDate;
    import java.time.Month;
     
    public class Application {
     
        public static void main(String[] args) {
            LocalDate dateSortie = LocalDate.of(2014, Month.DECEMBER, 25);        
            Movie movie1 = new Movie("The Imitation Game", dateSortie.getYear(), 14.99, 2);
            movie1.display();
        }
     
    }

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Tout d'abord veuillez m'excuser de vous a fait lire un code illisible. Je cherchais lorsque j’écrivais un icône pour mettre écrire convenablement le code. L'erreur est faite mais je ferai plus attention. En tout cas merci beaucoup d'avoir lue et d'avoir prit le temps de répondre. Je vais lire votre réponse et vos conseils attentivement.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    pourquoi avez-choisi package package edu.bordeaux.domaine ? C'est vous qui avait décidé de l'appelé ainsi ou c'est une réglè du code Java à respecter et à écrire ?

  5. #5
    Membre éprouvé
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 630
    Points : 1 029
    Points
    1 029
    Par défaut
    Comme je vous l'ai dit dans mon précédent post, il s'agit du nom de mon projet, vous pouvez appeler votre paquetage edu.poesiealcaline.domaine.

  6. #6
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    critiques du sujet:
    - je ne comprends pas ce que vient faire le nombre d'exemplaires. Si on code un magasin et que c'est le stock alors oui on peut l'avoir en variable membre (non final! mais héritée de la super-classe Produit)... mais alors le prix total n'a pas trop de sens. Si c'est le nombre d'exemplaires dans le panier: alors ce nombre et le prix total appartiennent au Panier!
    - display() ne devrait par non plus faire partie de Movie. Avoir une méthode toString() par ex. alors oui! Mais la classe Movie ne doit pas savoir de quelle manière elle est affichée (sur une fenêtre graphique, sur un terminal... ?) c'est une violation du principe de la séparation des fonctions et même si c'est un exercice pour débutant ce n'est pas la peine de prendre de mauvaises habitudes.
    (c'était ma minute de veuillez m'en excuser)
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Pour répondre à votre question c'est imposée dans l'exercice pour débutant.

    Comment vous aurais construit votre raisonnement, rendez-vous le coder pour que j'essaye de comprendre et je suis là pour apprendre.

  8. #8
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    Citation Envoyé par Poésie alcaline Voir le message
    Pour répondre à votre question c'est imposée dans l'exercice pour débutant.
    Bizarre de chez bizarre.... enfin il est de coutume de ne pas critiquer les sujets d'exercice...
    Citation Envoyé par Poésie alcaline Voir le message
    Comment vous aurais construit votre raisonnement, rendez-vous le coder pour que j'essaye de comprendre et je suis là pour apprendre.
    moi y en a pas comprendre ce que phrase dit
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  9. #9
    Membre éprouvé
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 630
    Points : 1 029
    Points
    1 029
    Par défaut
    Bonjour professeur shadoko,

    moi y en a pas comprendre ce que phrase dit
    La phrase est maladroitement formée ... mais l'idée est présente et je pense que tu sais pertinement ce que veux Poésie alcaline, libre à toi de lui fournir ... ou pas.

  10. #10
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    Citation Envoyé par transact Voir le message
    La phrase est maladroitement formée ... mais l'idée est présente et je pense que tu sais pertinnement ce que veux Poésie alcaline, libre à toi de lui fournir ... ou pas.
    désolé pour la formulation de ma réponse initiale... mais je n'ai sincèrement rien compris (donc je ne sais pas "pertinemment")
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  11. #11
    Membre éprouvé
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 630
    Points : 1 029
    Points
    1 029
    Par défaut
    Elle veut tout simplement apprendre, mais elle ne sait pas comment s'y prendre donc elle a besoin d'une référence, en l'occurence du code source qu'elle puisse s'ingurgiter.

    Je compatis pour elle car j'ai été débutant comme elle (comme nous tous) m'exprimant toutefois dans un français beaucoup plus clair et lisible.

  12. #12
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    d'abord mes excuses pour mon message: on a le droit de bafouiller du clavier.
    Maintenant quelques suggestions ... mais oui un exercice est rarement "réaliste" car il faut s'adapter au niveau.

    un premier essai simpliste consisterait à avoir une classe Movie qui comprenne "titre" , etc. et une méthode "toString()" une autre classe serait un élement de commande et comprendrait un Movie, un nombre d'exemplaires, le prix total et une méthode "tostring()" qui fait appel à celle de Movie. La commande serait une liste de tels éléments et comprendrait un prix total.
    détail: pourquoi il ne faut pas une méthode d'affichage dans ces classes? parce que c'est au "main" (ou à un autre code appelant) se savoir s'il utilise le "toString" pour afficher sur une console (par System.out.println) ou autre chose.

    à un autre niveau on aurait une classe abstraite Produit qui aurait des méthodes comme designation, quantitéEnStock, retirerDuStock et Movie en hériterait avec des champs supplémentaires (duréee, etc.). Il pourrait y avoir une classe Panier qui comprenne une liste d'éléments chacun contenant un Produit, un nombre, un prix associé, ce Panier aurait un prix total. On pourrait ensuite générer une classe Facture/Commande dans laquelle les éléments sont final en nature et en nombre. Mais bon tout ça se situe à un autre niveau de la progression.

    Bonne continuation
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Je vous remercie d'avoir contribué à mon post. Malheureusement je suis débutante mais je souhaite apprendre avec plaisir et surtout grac à vous des internautes gentil qui souhaitent me prêter un peu de leur temps.
    Merci beaucoup.

  14. #14
    Membre éprouvé
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 630
    Points : 1 029
    Points
    1 029
    Par défaut
    Bonjour Poésie alcaline,

    Si nous avons répondu à ta question, peux-tu s'il te plaît mettre ce post à résolu.

    Merci par avance.

    Transact.

Discussions similaires

  1. Erreurs code Classe View.java
    Par Justena dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 24/02/2015, 17h34
  2. Explications sur le code (classe interne & méthode)
    Par vandeyy dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 04/04/2014, 17h07
  3. Réponses: 24
    Dernier message: 11/06/2008, 15h26
  4. Nombre de lignes de code/classes
    Par mdelannay dans le forum Qualimétrie
    Réponses: 1
    Dernier message: 21/11/2006, 16h53

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