Ajouter un commentaire

Niroken
Re: Analyse

Hello,

J'ai corrigé ton code,je te transmets juste les classes modifiées :

Milieu :

import java.util.*;

import javaapplication5.Plante;
public class Milieu {

/**
    * @param args
    */
   public static void main(String[] args) {
     Plante Pt = new Plante();
     
     double tabAz[] = new double [300];
     double tabCarb[] = new double [300];
     double tabSfFe[] = new double [300];
     double tabSfRa [] = new double [300];

     for (int i = 0; i<0;i++){
         tabAz[i] = 0;
         tabCarb[i] = 0;
         tabSfFe[i] = 0;
         tabSfRa[i] = 0;
    }
     Random alea = new Random ();
     double mQuantiteAzoteSol = alea.nextDouble();
     double mQuantiteCarboneAtm = alea.nextDouble();

     for (int i = 0; i<200;i++) {
         Pt.absorbeRessources();
         Pt.simulePlanteLife();
         tabAz[i] = Pt.getQuantiteAzote();
         tabCarb[i] = Pt.getQuantiteCarbone();
         System.out.println(  "QuantiteCarbone :"+tabCarb[i]+
                 "QuantiteAzote:"+tabAz[i]+"Surface feuille :"
                 +tabSfFe[i]+"Surface racine:"+ tabSfRa[i]);
     }

   }
}

Plante :

package javaapplication5;

/**
*
* 
*/



public class Plante {

    private double mQuantiteAzote;

    private double mQuantiteCarbone;

    private double mQuantiteCarboneAtm;

    private double mQuantiteAzoteSol;

    private double mTempEcoule;

    private Feuille [] feuilles;

    private Racine [] racines;



    public Plante () {

      mTempEcoule = 0;
      mQuantiteAzote = 0;
      mQuantiteCarbone = 0;
      feuilles  = new Feuille [3];
      racines   = new Racine [5];
        for (int f = 0;f<3 ; f ++){
         feuilles [f] = new Feuille();
        }
        for (int r = 0; r<5 ; r++) {
         racines [r] = new Racine ();
        }
     }

   public Feuille [] getFeuilles() {
      return feuilles;
   }

   public void setFeuilles(Feuille [] feuilles) {
      this.feuilles = feuilles;
   }

   public Racine [] getRacines() {
      return racines;
   }

   public void setRacines(Racine[]racines) {
	   this.racines = racines;
   }

   public double getQuantiteAzote() {
      return mQuantiteAzote;
   }

   public double getQuantiteCarbone() {
      return mQuantiteCarbone;
   }
   public double getQuantiteCarboneAtm() {
       return mQuantiteCarboneAtm;
   }
   public double getQuantiteAzoteSol(){
       return mQuantiteAzoteSol;
   }
   public double getTempEcoule (){
       return mTempEcoule;
   }

  public void absorbeRessources() {
      for (int f= 0;f<3 ;f++) {
         mQuantiteCarbone += feuilles[f].absorbeCarbone();
      }

      for (int r = 0; r < 5;r++) {
         mQuantiteAzote += racines[r].absorbeAzote();
      }
   }

  private void faireGrandirFeuilles() {
      for (int f = 0;f<3;f++) {
         feuilles[f].faireGrandirFeuille(mQuantiteAzote, mQuantiteCarbone);
      }
   }

  private void faireGrandirRacines() {
      for (int r = 0; r<5; r++) {
         racines[r].faireGrandirRacine(mQuantiteAzote, mQuantiteCarbone);
      }
   }

  public void simulePlanteLife() {
       
      if (mQuantiteAzote == mQuantiteCarbone) {
            faireGrandirFeuilles();
            faireGrandirRacines();
      }
      else if (mQuantiteAzote > mQuantiteCarbone) {
            faireGrandirFeuilles();
      }
      else {
            faireGrandirRacines();
      }

       
      
   }


   }

En revanche, je ne vois pas trop à quoi sert ta classe Milieu.
Apparemment tu as essayé de faire un système de sauvegarde de l'état de la plante à chaque instant t.
Mais il aurait mieux valu que tu fasses, une méthode interne a la classe Plante qui te renvoit à la limite un String pour l'état de la plante, ou alors au mieux une structure de données qui te sauvegarde ces infos en vue de les écrire plus tard dans un fichier par exemple.

A l'heure atuelle ce qui marche donc, c'est que tu affiches les quantités de carbone et d azote absorbées par la plante en fonction du temps.

Bonne chance,
Niroken

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 III      J  DDD   PPPP   V     V 
I J D D P P V V
I J D D PPPP V V
I J J D D P V V
III JJJ DDD P V