Partage
  • Partager sur Facebook
  • Partager sur Twitter

un projet JAVA à corriger

    30 novembre 2015 à 21:57:20

    public class Boite {
    private Courrier[] contenu;
    private short nombre;
    public Boite(int i)
    {
    Courrier[][] courrier = null;
    contenu=courrier[i];
    nombre=0;
    }
    public float affranchir()
    {
    float mnt=0.0f;
    for(int i=0;i<nombre;i++)
    {
    if(contenu[i].getExpress())
    mnt+=contenu[i].getaffranchir.express;
    else
    mnt=contenu[i].affranchir();
    }
    return mnt;
    }
    public int ajouterCourrier(Courrier c)
    {
    if(nombre>contenu.length)
    System.out.println("impossible d'ajouter un nouveau courrier,la boite est pleine");
    else{
    contenu[nombre]=c;
    nombre++;
    }
    public int courrierInvalide()
    {
    int cmp=0;
    for(int i=0;i<=nombre;i++)
    if(!contenu[i].valide())
    cmp++;
    return cmp;
    }
    public void afficher()
    {
    for(int i=0;i<nombre;i++)
    System.out.println(contenu[i]);
    }
    }
    public static void main(String[]args)
    {
    Lettre L1=new Lettre(200.0f,true,"154avenu","A3");
    Lettre L2=new Lettre(800.0f,false," ","A4");
    Publicite p=new Publicite(1500.0f,true,"25,rue");
    Boite b=new Boite(100);
    b.ajouterCourrier(L1);
    b.ajouterCourrier(L2);
    b.ajouterCourrier(p);
    System.out.println("le montant d'affranchissement est de "+String.format("%.3f", b.affranchir(), "0t");
    b.affranchir();
    System.out.println("la boite contient"+b.courrierinvalide()+"courrier(s)invalide(s)");
    }
    private String courrierinvalide() {
    // TODO Auto-generated method stub
    return null;
    }
    }
    public abstract class Courrier {
    public static final String getaffranchir = null;
    protected float poids;
    protected boolean express;
    protected String adr;
    public abstract float affranchir();
    public Courrier(float poids,boolean e,String a)
    {
    this.poids=poids;
    express=e;
    adr=a;
    }
    public boolean valide()
    {
    return adr!=null && adr.length()>0;
    }
    @overide 
    public String toString()
    {
    String s = null;
    if(!valide())
    s="(courrier invalide)\n";
    s+="poids"+poids+"grammes\n";
    s+="express:"+(express?"oui":"non")+"\n";
    s+="destination:"+adr+"\n";
    s+="prix:"+String.format("%.3f",affranchir())+"DT\n";
    return s;
    }
    public float getpoids()
    {
    return poids;
    }
    public boolean getExpress() {
    return false;
    }
    }
     class Lettre extends Courrier {
    private String format=" ";
    private static float tarifA3=1.5f;
    private static float tarifA4=0.5f;
    public Lettre(float poids, boolean e, String a,String f) {
    super(poids, e, a);format=f;
    }
    public static void settarifA3(float f)
    {
    Lettre.tarifA3=f;
    }
    public static void settarifA4(float f)
    {
    Lettre.tarifA4=f;
    }
    public float affranchir()
    {
    float mnt=0;
    if(!valide())
    return 0;
    else
    {if(format.equals("A3"))
    mnt=tarifA3;
    else
    mnt=tarifA4;
    mnt+=1.1*poids/1000;
    if(express)
    return 2*mnt;
    return mnt;}
    }
    public String toString()
    {
    String ch="Lettre \n";
    ch+=super.toString();
    ch+="format:"+format+"/n";
    return ch;
    }
    }
     abstract class Publicite extends Courrier {
    public Publicite(float poids, boolean e, String a) {
    super(poids, e, a);
    }
    public float affranchir()
    {
    float mnt=0;
    if(!valide())
    return 0;
    else
    {
    mnt=3*poids\1000;
    if(express)
    return mnt*2;
    return mnt;
    }
    }
    @overide
    public String toString()
    {
    return "publicité\n"+super.toString();
    }
    }
    les erreurs:
    1)dans public float affranchir() (class Boite) 
    2)dans public int courrierinvalide() (class Boite)
    3)dans public void afficher() (class Boite)
    4)dans le main declaration de new publicite
    ce sont des erreurs que j'ai pas pu les resoudres et j'espere que vous pouvez m'aider !et merci !
    • Partager sur Facebook
    • Partager sur Twitter
    fseg
      1 décembre 2015 à 13:23:05

      Pourrais-tu utiliser les balises code et expliquer un peu plus précisément ce que tu reçois comme erreur s'il te plait? Je trouve le code un peu illisible sous cette forme^^
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        9 décembre 2015 à 12:53:52

        Sur ton éditeur de texte donné pour poster un message, tu as une icone [</>], qui permettra d'afficher le code d'une façon un peu plus lisible.

        Aussi, ce serait mieux que tu indente ton code.

        Si tu les vois comme des erreurs, tu as sans doute dû recevoir des messages d'erreur. Par conséquent, pourrai-tu nous donner les messages d'erreur obtenus ?

        Ce serait bien que tu précise aussi un peu ce que tu attend de nous.

        • Partager sur Facebook
        • Partager sur Twitter
          10 décembre 2015 à 20:54:09

           
          public class Boite {
          private Courrier[] contenu;
          private short nombre;
          public Boite(int i)
          {
          Courrier[][] courrier = null;
          contenu=courrier[i];
          nombre=0;
          }
          public float affranchir()
          {
          float mnt=0.0f;
          for(int i=0;i<nombre;i++)
          {
          if(contenu[i].getExpress())
          mnt+=contenu[i].getaffranchir.express;
          else
          mnt=contenu[i].affranchir();
          }
          return mnt;
          }
          public int ajouterCourrier(Courrier c)
          {
           
          if(nombre>contenu.length)
          System.out.println("impossible d'ajouter un nouveau courrier,la boite est pleine");
          else{
          contenu[nombre]=c;
          nombre++;
          }
          public int courrierInvalide()
          {
          int cmp=0;
          for(int i=0;i<=nombre;i++)
          if(!contenu[i].valide())
          cmp++;
          return cmp;
           
          }
          public void afficher()
          {
          for(int i=0;i<nombre;i++)
          System.out.println(contenu[i]);
           
          }
           
          }
          public static void main(String[]args)
          {
          Lettre L1=new Lettre(200.0f,true,"154avenu","A3");
          Lettre L2=new Lettre(800.0f,false," ","A4");
          Publicite p=new Publicite(1500.0f,true,"25,rue");
          Boite b=new Boite(100);
          b.ajouterCourrier(L1);
          b.ajouterCourrier(L2);
          b.ajouterCourrier(p);
          System.out.println("le montant d'affranchissement est de "+String.format("%.3f", b.affranchir(), "0t");
           
           
          b.affranchir();
          System.out.println("la boite contient"+b.courrierinvalide()+"courrier(s)invalide(s)");
          }
          private String courrierinvalide() {
          // TODO Auto-generated method stub
          return null;
          }
           
          }
           
          public abstract class Courrier {
          public static final String getaffranchir = null;
          protected float poids;
          protected boolean express;
          protected String adr;
          public abstract float affranchir();
          public Courrier(float poids,boolean e,String a)
          {
          this.poids=poids;
          express=e;
          adr=a;
          }
          public boolean valide()
          {
          return adr!=null && adr.length()>0;
           
          }
          @overide 
          public String toString()
          {
          String s = null;
          if(!valide())
          s="(courrier invalide)\n";
          s+="poids"+poids+"grammes\n";
          s+="express:"+(express?"oui":"non")+"\n";
          s+="destination:"+adr+"\n";
          s+="prix:"+String.format("%.3f",affranchir())+"DT\n";
          return s;
           
          }
          public float getpoids()
          {
          return poids;
          }
          public boolean getExpress() {
           
          return false;
          }
           
          }
           
           class Lettre extends Courrier {
          private String format=" ";
          private static float tarifA3=1.5f;
          private static float tarifA4=0.5f;
           
          public Lettre(float poids, boolean e, String a,String f) {
          super(poids, e, a);format=f;
           
          }
          public static void settarifA3(float f)
          {
          Lettre.tarifA3=f;
          }
          public static void settarifA4(float f)
          {
          Lettre.tarifA4=f;
          }
          public float affranchir()
          {
          float mnt=0;
          if(!valide())
          return 0;
          else
          {if(format.equals("A3"))
          mnt=tarifA3;
          else
          mnt=tarifA4;
          mnt+=1.1*poids/1000;
          if(express)
          return 2*mnt;
          return mnt;}
          }
          public String toString()
          {
          String ch="Lettre \n";
          ch+=super.toString();
          ch+="format:"+format+"/n";
          return ch;
           
          }
           
           
          }
           
           abstract class Publicite extends Courrier {
           
          public Publicite(float poids, boolean e, String a) {
          super(poids, e, a);
           
          }
          public float affranchir()
          {
          float mnt=0;
          if(!valide())
          return 0;
          else
          {
          mnt=3*poids\1000;
          if(express)
          return mnt*2;
          return mnt;
          }
           
          }
          @overide
          public String toString()
          {
          return "publicité\n"+super.toString();
          }
           
           
          }
          les erreurs:
          1)dans public float affranchir() (class Boite)mnt+=contenu[i].getaffranchir.express;//express cannot be resolved or is not a field 
          2)dans public int courrierinvalide() (class Boite)//Illegal modifier for parameter courrierInvalide; only final is permitted
          3)dans public void afficher() (class Boite)//Illegal modifier for parameter afficher; only final is permitted
          4)dans le main declaration de new publicite(Publicite p=new Publicite(1500.0f,true,"25,rue");)//Cannot instantiate the type Publicite
          voila j'espere que ca sera plus lisible 
          • Partager sur Facebook
          • Partager sur Twitter
          fseg
            11 décembre 2015 à 10:19:36

            Salut,

            1/ mnt+=contenu[i].getaffranchir.express;

            mnt est un float. Soit.

            contenu[i].getaffranchir est un String (d’où le problème)

            .express ne correspond a rien ... (tu rajoute une couche de problème)

            2/ et 3/ tu ne peut pas utiliser des variables private comme ca

            4/ Pourquoi Publicite est en abstract ? Rajoute également public.

            Quelques conseils :

            Ton code pars un peu dans tout les sens, pas de respect des convention (variable getaffranchir...), des type abstracts sans raison...

            Si tu ne codes pas avec un IDE, je te conseil le faire maintenant car tes fautes seront directement corrigées, et c'est bien plus facile pour un débutant ;)

            Bon courage !

            • Partager sur Facebook
            • Partager sur Twitter

            un projet JAVA à corriger

            × 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