cannot find symbol, symbol : variable matrixFishingMortalityPerGroup
Bonjour, Je n'arrive pas à compiler mon DefaultSimulator après avoir modifié la boucle pour la création de ma matrice de mortalité par pêche totale. Le message d'erreur est : C:\Users\lgasche\isis-fish-4\isis-community-database\simulators\DefaultSimulator_F.java:508: cannot find symbol symbol : variable matrixFishingMortalityPerGroup location: class simulators.DefaultSimulator_F MatrixND totalFishingMortality = siMatrix.TotalFishingMortality(step, pop, matrixFishingMortalityPerGroup); // context.getSimulationStorage().getResultStorage()); Apparemment il n'arrive pas à trouver la matrice matrixFishingMortalityPerGroup créée juste avant qui sert au calcul de la mortalité totale... mais je ne vois pas pourquoi... Une idée ? Loïc
Le 10/08/2012 17:37, Loic GASCHE a écrit :
Bonjour,
Je n'arrive pas à compiler mon DefaultSimulator après avoir modifié la boucle pour la création de ma matrice de mortalité par pêche totale.
Le message d'erreur est :
C:\Users\lgasche\isis-fish-4\isis-community-database\simulators\DefaultSimulator_F.java:508: cannot find symbol symbol : variable matrixFishingMortalityPerGroup location: class simulators.DefaultSimulator_F MatrixND totalFishingMortality = siMatrix.TotalFishingMortality(step, pop, matrixFishingMortalityPerGroup); // context.getSimulationStorage().getResultStorage()); L'erreur est surement avant cette ligne. Si aucun code ne déclare "matrixFishingMortalityPerGroup", il dit simplement qu'il ne connait pas cette variable. Elle ne doit pas exister.
-- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com
Le 10/08/2012 17:55, Eric Chatellier a écrit :
Le 10/08/2012 17:37, Loic GASCHE a écrit :
Bonjour,
Je n'arrive pas à compiler mon DefaultSimulator après avoir modifié la boucle pour la création de ma matrice de mortalité par pêche totale.
Le message d'erreur est :
C:\Users\lgasche\isis-fish-4\isis-community-database\simulators\DefaultSimulator_F.java:508: cannot find symbol symbol : variable matrixFishingMortalityPerGroup location: class simulators.DefaultSimulator_F MatrixND totalFishingMortality = siMatrix.TotalFishingMortality(step, pop, matrixFishingMortalityPerGroup); // context.getSimulationStorage().getResultStorage()); L'erreur est surement avant cette ligne. Si aucun code ne déclare "matrixFishingMortalityPerGroup", il dit simplement qu'il ne connait pas cette variable. Elle ne doit pas exister.
Mais matrixFishingMortalityPerGroup c'est le nom de ma matrice de F par groupe qui est créée juste avant et qui est utilisée dans SiMatrix pour obtenir la matrice de F par pop : public MatrixND TotalFishingMortality (TimeStep step, Population pop, MatrixND matrixFishingMortalityPerGroup)throws TopiaException {
Le 10/08/2012 17:59, Loic GASCHE a écrit :
Mais matrixFishingMortalityPerGroup c'est le nom de ma matrice de F par groupe qui est créée juste avant et qui est utilisée dans SiMatrix pour obtenir la matrice de F par pop :
public MatrixND TotalFishingMortality (TimeStep step, Population pop, MatrixND matrixFishingMortalityPerGroup)throws TopiaException {
Heu non, dans DefaultSimulator_F, il doit y avoir une ligne qui commence par : MatrixND matrixFishingMortalityPerGroup = ... qui défini la matrice. Envoi le fichier sinon, j'aurais le code global. -- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com
Le 10/08/2012 18:15, Eric Chatellier a écrit :
Le 10/08/2012 17:59, Loic GASCHE a écrit :
Mais matrixFishingMortalityPerGroup c'est le nom de ma matrice de F par groupe qui est créée juste avant et qui est utilisée dans SiMatrix pour obtenir la matrice de F par pop :
public MatrixND TotalFishingMortality (TimeStep step, Population pop, MatrixND matrixFishingMortalityPerGroup)throws TopiaException {
Heu non, dans DefaultSimulator_F, il doit y avoir une ligne qui commence par : MatrixND matrixFishingMortalityPerGroup = ... qui défini la matrice.
Envoi le fichier sinon, j'aurais le code global.
Voilà SiMatrix et DefaultSimulator_F
Le 10/08/2012 18:22, Loic GASCHE a écrit :
Voilà SiMatrix et DefaultSimulator_F
Je pense que c'est ca que tu essaye de faire: MatrixND fishingMortalityPerGroup = siMatrix.FishingMortalityPerGroup(step, pop, context.getSimulationStorage().getResultStorage()); if (resManager.isEnabled(ResultName.MATRIX_FISHING_MORTALITY_PER_GROUP)) { resManager.addResult(step, pop, fishingMortalityPerGroup); } if (resManager.isEnabled(ResultName.MATRIX_TOTAL_FISHING_MORTALITY)) { MatrixND totalFishingMortality = siMatrix.TotalFishingMortality(step, pop, fishingMortalityPerGroup); resManager.addResult(step, pop, totalFishingMortality); } Donc: - matrixFishingMortalityPerGroup n'existais pas - c'est surement fishingMortalityPerGroup que tu veux réutiliser ? - une variable n'existe que dans un block ou elle a été déclarée, je l'ai donc définie avant le premier block. -- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com
Le 10/08/2012 18:29, Eric Chatellier a écrit :
Le 10/08/2012 18:22, Loic GASCHE a écrit :
Voilà SiMatrix et DefaultSimulator_F
Je pense que c'est ca que tu essaye de faire:
MatrixND fishingMortalityPerGroup = siMatrix.FishingMortalityPerGroup(step, pop, context.getSimulationStorage().getResultStorage()); if (resManager.isEnabled(ResultName.MATRIX_FISHING_MORTALITY_PER_GROUP)) { resManager.addResult(step, pop, fishingMortalityPerGroup); }
if (resManager.isEnabled(ResultName.MATRIX_TOTAL_FISHING_MORTALITY)) { MatrixND totalFishingMortality = siMatrix.TotalFishingMortality(step, pop, fishingMortalityPerGroup); resManager.addResult(step, pop, totalFishingMortality); }
Donc: - matrixFishingMortalityPerGroup n'existais pas - c'est surement fishingMortalityPerGroup que tu veux réutiliser ? Oui c'est ça ! - une variable n'existe que dans un block ou elle a été déclarée, je l'ai donc définie avant le premier block. Ca semble logique maintenant que tu le dis...
Merci ça compile nickel maintenant !
participants (2)
-
Eric Chatellier -
Loic GASCHE