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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    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
    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 chevronné
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 638
    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
    Membre régulier
    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
    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
    Membre régulier
    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
    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 chevronné
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 638
    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 Expert
    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 : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    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)

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