Partage
  • Partager sur Facebook
  • Partager sur Twitter

aide pour le tp garage openclassrooms

probleme avec le resulta attendu a la console

    13 octobre 2018 à 12:43:59

    bonjour les amis j'ai un problème avec notre TP garage openclassroos  et sa fait déjà 3 jour que je suis bloquer  j ai crée toutes les classes, interface et ennumeration j ai géré toute les héritage et les implémentation que m imposais le diagramme  UML donne dans le tp mais le résultat est différent de celui du tp je ne voix pas ou j ai fait l erreur s il vous plais aider moi .

    l exercice demande de construire un garage openclassroms a partir de ce diagramme de classe

    voila le main donner dans le tp

    package ma.classe.main;
    import ma.projet.classes.*;
    public class Main {
    
    	public Main() {
    		// TODO Auto-generated constructor stub
    	}
    
    	public static void main(String[] args) {
    		 
    		   	 Garage garage = new Garage();   
    		   	 System.out.println(garage);
    		   	 
    		   	 Vehicule lag1 = new Lagouna();
    		   	 lag1.setMoteur(new MoteurEssence("150 Chevaux", 10256d));
    		   	 lag1.addOption(new GPS());
                 lag1.addOption(new SiegeChauffant());
    		   	 lag1.addOption(new VitreElectrique());
    		   	 garage.addvoiture(lag1);
    		   	 
                  Vehicule A300B_2 = new A300B();
    		   	 A300B_2.setMoteur(new MoteurElectrique("1500 W", 1234d));
    		   	 A300B_2.addOption(new Climatisation());
    		   	 A300B_2.addOption(new BarreDeToit());
    		   	 A300B_2.addOption(new SiegeChauffant());
    		   	 garage.addvoiture(A300B_2);
    
    		   	 Vehicule d4_1 = new D4();
    		   	 d4_1.setMoteur(new MoteurDiesel("200 Hdi", 25684.80d));
    		   	 d4_1.addOption(new BarreDeToit());
    		   	 d4_1.addOption(new Climatisation());
    		   	 d4_1.addOption(new GPS());
    		   	 garage.addvoiture(d4_1);   	 
    		   	 
    		   	 Vehicule lag2 = new Lagouna();
    		   	 lag2.setMoteur(new MoteurDiesel("500 Hdi", 456987d));
    		   	 garage.addvoiture(lag2);
    		   	 
    		   	 Vehicule A300B_1 = new A300B();
    		   	 A300B_1.setMoteur(new MoteurHybride("ESSENCE/Electrique", 12345.95d));
    		   	 A300B_1.addOption(new VitreElectrique());
    		   	 A300B_1.addOption(new BarreDeToit());
    		   	 garage.addvoiture(A300B_1);
    		   	 
    		   	 Vehicule d4_2 = new D4();
    		   	 d4_2.setMoteur(new MoteurElectrique("100 KW", 1224d));
    		   	 d4_2.addOption(new SiegeChauffant());
    		   	 d4_2.addOption(new BarreDeToit());
    		   	 d4_2.addOption(new Climatisation());
    		   	 d4_2.addOption(new GPS());
    		   	 d4_2.addOption(new VitreElectrique());
    		   	 garage.addvoiture(d4_2);   			 
    		    
    		
    
    	}
    
    } 

    et le résultat attendu est


    voila  ce que j ai fait

    classe garage

    package ma.projet.classes;
    
    import java.util.ArrayList;
    import java.io.*;
    import java.util.List;
    
    public class Garage {
    protected List <Vehicule> voiture=new ArrayList<Vehicule>() ;
    ObjectInputStream ree;
    ObjectOutputStream rte;
    
    @SuppressWarnings("unchecked")
    public Garage() {
    	try {
    		ree=new ObjectInputStream(
    		      new BufferedInputStream(
    		    	new FileInputStream(
    	               new File("texter.txt"))));
    	voiture = (ArrayList<Vehicule>)
    		  ree.readObject();		
    		  ree.close();
                }catch( FileNotFoundException e) {
                	 System.out.println("aucune voiture sauvegarder");
                                }
                   catch (ClassNotFoundException e) {
    				 //TODO Auto-generated catch block
    			e.printStackTrace();
    			} catch (IOException e) {
    				 //TODO Auto-generated catch block
    				e.printStackTrace();
    			}finally{	 try {
    	             
    	        	 if(ree!=null) {
    	       		 ree.close();
    	      	 }
    	         }catch(final IOException e) {
    	       	  e.printStackTrace();
    	}
    						
    	}
    			}
    public String toString() {
    	 String er="";
    	 er+="   *******************************\n";
         er+="**   GARAGE OPENCLASSROOMS         **\n";
    	 er+="*************************************\n";
    	 if (voiture.isEmpty()==false) {
    		 for(Vehicule v:voiture) {
    			 er+="\n"+v.toString();
    		 }
    	 }
    	 return er;
     }
     public void addvoiture(Vehicule voit) {
    	
     try {
    	 rte=new ObjectOutputStream(
    		  new BufferedOutputStream(
    			new FileOutputStream(
    				new File("texter.txt"))));	
    	 if(voiture.contains(voit)==false) {
    		 voiture.add(voit);
             rte.writeObject(voiture); 
             }
    		  rte.close();
    	 }catch(final IOException e) {
    			e.printStackTrace();
    		}finally{try {
          rte.flush();
    	rte.close();
    		
    } catch(final IOException e) {
    	e.printStackTrace();}		
    			
    				}
              }
    }
    

    classe vehicule

    package ma.projet.classes;
    import java.io.Serializable;
    import java.util.*;
    import ma.projet.enumeration.*;
    import ma.projet.interfac.*;
    
    
    public class Vehicule implements Serializable {
    	/**
    	defaut serializable* 
    	 */
    	private static final long serialVersionUID = 1L;
    	
    	 protected double prixoption;
    	 protected Moteur m;
         protected  double prix;
    	 protected String nom;
    	 protected Marque nomMarque;
    	 private List<Option> option ;
    	 
    	 
    	public Vehicule( double prix,String nom,Marque nomMarque) {
    		// TODO Auto-generated constructor stub
    		 this.prix=prix;
    		 this.nom=nom;
    		 this.nomMarque=nomMarque;
    	
    	}
    	public Vehicule() {
    		this.option = new ArrayList<Option>();
    	}
     public String toString() {
    	 
    	 return"+voiture "+ this.nomMarque+":"+this.nom+" "+" "+this.m+this.prix+this.option+"valeur total"+this.prixoption;
     }
     
     
     
     public double getprixoption() {
    	 double prixOptions = 0;
         for(int i = 0; i < option.size(); i++){
             prixOptions += option.get(i).getprixoption();
         }
         return prixOptions;
     }
     public void addOption(Option opt) {
    	  option.add(opt);
       }
     public Marque getMarque() {
    	 return nomMarque;
     }
     public void setMarque(Marque nomMarque) {
    	 this.nomMarque=nomMarque;
     }
     public List<Option> getOption(){
    	 return option;
     }
    public double getPrix() {
    	return prix;
    }
    public void setprix(double prix) {
    	this.prix=prix;
    }
    public String getnom() {
    	return nom;
    }
    public void setnom(String nom) {
    	this.nom=nom;
    }
    public Moteur getMoteur() {
    	return m;
    }
    public void setMoteur(Moteur m) {
    	this.m=m;
    	
    }
     }

    classe moteur

    package ma.projet.classes;
     import java.io.Serializable;
    
    import ma.projet.enumeration.TypeMoteur;
    public  class Moteur implements Serializable {
    	
    	private static final long serialVersionUID = 1L;
    	protected double prix;
    	protected String cylindre;
    	protected  TypeMoteur type=null;
           public Moteur(String cylindre, double prix) {
    		// TODO Auto-generated constructor stub
    		
    		this.cylindre=cylindre;
            
            this.prix=prix;
           }
    	//public Moteur() {
    		
    	//}
    	//public String getcylindre() {
    	//	return cylindre;
    	//}
    	//public void setcylindre(String cylindre) {
    		//this.cylindre=cylindre;
    //	}
       public double getprix() {
    	   return prix;
       }
       //public void setprix(double prix) {
    	  // this.prix=prix;
       //}
       public  String toString() {
    	   return this.cylindre+getprix();
       }
       
       
      // public TypeMoteur getType() {
         //  return type;
      // }
       
       //public void setType(TypeMoteur type) {
         //  this.type = type;
      // }
       
       public void Moteurs(String cylindre,double prix) {
    	         this.cylindre=cylindre;
    	         this.prix=prix;
       }
       
    }
    

    interface option

    package ma.projet.interfac;
    
    public interface Option   {
         public double getprixoption();
    }
    

    CLASSE BARRE DE TOI

    package ma.projet.classes;
    
    import ma.projet.interfac.Option;
    
    import java.io.Serializable;
    
    public class BarreDeToit implements Option,Serializable {
    	
    	private static final long serialVersionUID = 1L;
    	
    	double prix;
    	
    	public BarreDeToit() {
    		// TODO Auto-generated constructor stub
    		prix=29.9;
    	}
    
    	
    	public double getprixoption() {
    		// TODO Auto-generated method stub
    		return prix;
    	}
     public String tostring() {
    	return "Barre de Toit("+getprixoption()+"E)";
     }
    }
    

    voila ce que j obtient comme résultat dans la console

       *******************************
    **   GARAGE OPENCLASSROOMS         **
    *************************************
    
    +voiture RENOL:Lagouna  moteuressence150 Chevaux24011.75[GPS(113.5E), SiegeChauffant(562.9E), VitreElectrique(212.35E)]valeur total0.0
    +voiture PIGEOT:A300B  Moteurelectrique1500 W30000.0[Climatisation(347.3E), ma.projet.classes.BarreDeToit@6474c2, SiegeChauffant(562.9E)]valeur total0.0
    +voiture TROEN:D4  moteur diesel200 Hdi30000.0[ma.projet.classes.BarreDeToit@194fa3e, Climatisation(347.3E), GPS(113.5E)]valeur total0.0
    +voiture RENOL:Lagouna  moteur diesel500 Hdi24011.75[]valeur total0.0
    +voiture PIGEOT:A300B  moteurhybrideESSENCE/Electrique30000.0[VitreElectrique(212.35E), ma.projet.classes.BarreDeToit@481248]valeur total0.0
    +voiture TROEN:D4  Moteurelectrique100 KW30000.0[SiegeChauffant(562.9E), ma.projet.classes.BarreDeToit@d3c617, Climatisation(347.3E), GPS(113.5E), VitreElectrique(212.35E)]valeur total0.0
    +voiture RENOL:Lagouna  moteuressence150 Chevaux24011.75[GPS(113.5E), SiegeChauffant(562.9E), VitreElectrique(212.35E)]valeur total0.0
    +voiture PIGEOT:A300B  Moteurelectrique1500 W30000.0[Climatisation(347.3E), ma.projet.classes.BarreDeToit@1947c6b, SiegeChauffant(562.9E)]valeur total0.0
    +voiture TROEN:D4  moteur diesel200 Hdi30000.0[ma.projet.classes.BarreDeToit@1193f2d, Climatisation(347.3E), GPS(113.5E)]valeur total0.0
    +voiture RENOL:Lagouna  moteur diesel500 Hdi24011.75[]valeur total0.0
    +voiture PIGEOT:A300B  moteurhybrideESSENCE/Electrique30000.0[VitreElectrique(212.35E), ma.projet.classes.BarreDeToit@15da254]valeur total0.0
    +voiture TROEN:D4  Moteurelectrique100 KW30000.0[SiegeChauffant(562.9E), ma.projet.classes.BarreDeToit@1c63996, Climatisation(347.3E), GPS(113.5E), VitreElectrique(212.35E)]valeur total0.0
    +voiture RENOL:Lagouna  moteuressence150 Chevaux24011.75[GPS(113.5E), SiegeChauffant(562.9E), VitreElectrique(212.35E)]valeur total0.0
    +voiture PIGEOT:A300B  Moteurelectrique1500 W30000.0[Climatisation(347.3E), ma.projet.classes.BarreDeToit@1716361, SiegeChauffant(562.9E)]valeur total0.0
    +voiture TROEN:D4  moteur diesel200 Hdi30000.0[ma.projet.classes.BarreDeToit@1f3c5b5, Climatisation(347.3E), GPS(113.5E)]valeur total0.0
    +voiture RENOL:Lagouna  moteur diesel500 Hdi24011.75[]valeur total0.0
    +voiture PIGEOT:A300B  moteurhybrideESSENCE/Electrique30000.0[VitreElectrique(212.35E), ma.projet.classes.BarreDeToit@164951d]valeur total0.0
    +voiture TROEN:D4  Moteurelectrique100 KW30000.0[SiegeChauffant(562.9E), ma.projet.classes.BarreDeToit@11210ee, Climatisation(347.3E), GPS(113.5E), VitreElectrique(212.35E)]valeur total0.0
    





    merci d'avance pour ceux qui voudrons bien m'aider



    -
    Edité par grrand merci 13 octobre 2018 à 21:30:08

    • Partager sur Facebook
    • Partager sur Twitter
      13 octobre 2018 à 13:41:51

      Bonjour,

      Majuscules abusives

      L'écriture en majuscules est considérée comme une parole criée et diminue autant la lisibilité du texte que sa compréhension. Les majuscules abusives sont donc interdites aussi bien dans les titres que dans les messages.

      Merci de modifier votre titre.

      • Partager sur Facebook
      • Partager sur Twitter
        13 octobre 2018 à 15:49:28

        Essaie de reduire ton problème. Qu'est-ce que se passe si tu n'essaie d'ajouter qu'une seule voiture ?

        -
        Edité par michelbillaud 13 octobre 2018 à 15:53:31

        • Partager sur Facebook
        • Partager sur Twitter
          13 octobre 2018 à 21:37:21

          salut

          lorsque j'essaie d'ajouter qu'une seule voiture  la voiture s’ajoute sans problème mais le résultat a la console n est pas identique  aux résultat donner dans l énoncé du tp

          • Partager sur Facebook
          • Partager sur Twitter
            13 octobre 2018 à 23:42:06

            Alors fais afficher quelque chose qui correspond !
            • Partager sur Facebook
            • Partager sur Twitter
              15 octobre 2018 à 12:39:28

              voila ce que sa donne quant j ajoute une voiture seulement

                 *******************************
              **   GARAGE OPENCLASSROOMS         **
              *************************************
              
              +voiture RENOL:Lagouna  moteuressence150 Chevaux24011.75[GPS(113.5E), SiegeChauffant(562.9E), VitreElectrique(212.35E)]valeur total0.0
              

              michelbillaud

              désole si je met autant de temps avant de réagir c est la période électoral dans mon pays et la connexion internet n est pas stable



              • Partager sur Facebook
              • Partager sur Twitter
                15 octobre 2018 à 13:50:59

                grrand merci a écrit:

                voila ce que sa donne quant j ajoute une voiture seulement

                   *******************************
                **   GARAGE OPENCLASSROOMS         **
                *************************************
                
                +voiture RENOL:Lagouna  moteuressence150 Chevaux24011.75[GPS(113.5E), SiegeChauffant(562.9E), VitreElectrique(212.35E)]valeur total0.0
                

                Bon, je précise que si je pose des questions, c'est pour que tu apprennes à résoudre toi-même le problème.

                Donc c'est pour ça que je re-demande ce que ça devrait afficher dans ce cas, histoire que tu te décides à indiquer précisément les anomalies que tu constates. Ce qui te permettra ensuite de te mettre à rechercher les causes.

                Exemple, si tu disais

                • problème constaté : Il manque un e à valeur totalE

                on pourrait déterminer la cause

                • la fonction toString ne fait pas son boulot correctement pour les véhicules

                et décider d'une correction

                • classe Vehicule ligne 34, remplacer total par totale.

                Parce que ce n'est pas avec "ça marche pas" que ça va avancer.

                • Partager sur Facebook
                • Partager sur Twitter

                aide pour le tp garage openclassrooms

                × 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.
                • Editeur
                • Markdown