anjinho49
Messages postés19Date d'inscriptionvendredi 2 janvier 2009StatutMembreDernière intervention31 août 2009
-
21 avril 2009 à 01:29
cs_MoH008
Messages postés238Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention29 septembre 2011
-
21 avril 2009 à 22:51
Bonjour,
J'aimerais savoir si quelqu'un pourrait m'aider. Quine–McCluskey est une "logique" (si je peux appeler ça comme ça) qui permet de minimiser une équation logique (algèbre de boole pour ceux qui en ont entendu parler).
J'ai trouvé sur Wikipédia un programme en JAVA pour pouvoir résoudre les équations à l'aide d'un programme. Mais je n'arrive pas à le faire fonctioner (sans dire que je ne suis pas encore au point au niveau du java).
C'est un programme qui m'intéresse du point de vue pédagogique personnel (Je me mets à tester des petits programmes pour apprendre le java que je trouve sur le net mais bon.. pour l'instant c'est pas trop top). Celui-ci m'intéresse particulièrement parce que dans wikipédia ils expliquent plus ou moins pourquoi ci ou pourquoi ça.
Mais c'est que je n'arrive pas à "monter" le programme comme il faut. En tout cas, c'est encore un que je n'ai pas réussi à compiler.
Conséquence : je déduie que je n'ai pas encore la logique de "structuration".
Enfin, si quelqu'un est disponible pour aider (ou expliquer), ce serait gentil.
Merci d'avance.
Rosy Vilela
"Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c'est que, quand on y sera enfin, on n'aura pas assez de RAM."
Dave Barry Extrait des Chroniques déjantées d'internet
anjinho49
Messages postés19Date d'inscriptionvendredi 2 janvier 2009StatutMembreDernière intervention31 août 2009 21 avril 2009 à 18:06
Eclipse.
Et le programme est ici : http://en.literateprograms.org/Quine-McCluskey_algorithm_(Java) Monter = ce serait comment séparer des classes ... parce que pour moi il y en a que 2 celle pour formula et celle ce Term et ensuite j'ajoute les compléments de codes qui sont des les liens (parce que c'est comme ça que je comprend qu'il faut faire).
Par exemple celui de term c'est ça:
import java.util.*;
Term import statements
privatebyte[]varVals;
} Le Term import statement est un lien qui donne la ligne de code.
Donc je la reprend et je la met à même place que le texte indiqué.
Est-ce ainsi qu'il faut procéder?
Merci de l'aide.
Rosy Vilela
"Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c'est que, quand on y sera enfin, on n'aura pas assez de RAM."
cs_MoH008
Messages postés238Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention29 septembre 20111 21 avril 2009 à 18:20
C'est bien cela qu'il faut faire.
Tu as bien 2 classes : Term.java et Formula.java
Il faut bien remplacer les liens par les lignes de codes indiquées. Tu peux aussi mettre certaines parties de codes dans des méthodes (ce qui sera plus simples par la suite pour d'éventuelles modifications mais comme tu débutes ne modifie rien)
Vous n’avez pas trouvé la réponse que vous recherchez ?
anjinho49
Messages postés19Date d'inscriptionvendredi 2 janvier 2009StatutMembreDernière intervention31 août 2009 21 avril 2009 à 18:26
Le problème c'est que ça m'indique des erreurs comme quoi certaines "the field X is never read locally" .. et je ne comprends pas pourquoi. Aussi il y a du code en plus donné et je ne vois pas trop où le placer. C'est pour ça que je me demandais s'il me fallait créer une autre classe par exemple.
Rosy Vilela
"Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c'est que, quand on y sera enfin, on n'aura pas assez de RAM."
anjinho49
Messages postés19Date d'inscriptionvendredi 2 janvier 2009StatutMembreDernière intervention31 août 2009 21 avril 2009 à 19:31
Bonjour,
Alors les soucis de "the field X is never read locally" c'est pas une erreur (comme vous l'aviez dit). Je m'inquiétais pour rien.
L'erreur que j'ai c'est dans :
// <<Formula test main>>=
public static void main(String[] args) throws IOException {
Formula f = Formula. read (new BufferedReader(new FileReader(args[0])));
f.reduceToPrimeImplicants();
System.out.println(f);
f.reducePrimeImplicantsToSubset();
System.out.println(f);
}
}
Alors tout ce qui est en gras et souligné ("reduceToPrimeImplicants" et "read") ça me dit qu'il faut :
<li>soit créer une méthode</li><li>soit "Add cast to f."</li>J'ai donc cherché la méthode pour reduceToPrimeImplicants et j'ai trouvé donc ça :
Mais je ne sais pas où le mettre puisque ce n'était pas indiqué.
Je l'ai mis juste après "Formula public methods". Et les erreurs ne se sont pas résolues.
Sans dire que maintenant j'ai une erreur aussi au niveau de l'ajout qui se trouve sur
implies et extractLargestImplicant. Les conseils pour résoudre le problème étaient
les mêmes sauf que pour extractLargestImplicant on me conseil de changer par
extractEssentialImplicant.
Donc je suis partie à la recherche de ces trucs là. Mais je commence à me perdre
Du coup je ne sais trop où mettre quoi maintenant. (enfin pour ce qu'il reste).
Rosy Vilela
"Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c'est que, quand on y sera enfin, on n'aura pas assez de RAM."
cs_MoH008
Messages postés238Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention29 septembre 20111 21 avril 2009 à 20:32
D'accord, il serait possible de me transmettre ton fichier (Formula.java) ou me montrer entièrement ta classe pour voir éventuellement comment elle est composée? (en MP )
anjinho49
Messages postés19Date d'inscriptionvendredi 2 janvier 2009StatutMembreDernière intervention31 août 2009 21 avril 2009 à 20:43
??? je ne comprends pas la question?!
Rosy Vilela
"Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c'est que, quand on y sera enfin, on n'aura pas assez de RAM."
anjinho49
Messages postés19Date d'inscriptionvendredi 2 janvier 2009StatutMembreDernière intervention31 août 2009 21 avril 2009 à 20:50
genre quelque chose avec une équation pour que ça soit résolu?
Rosy Vilela
"Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c'est que, quand on y sera enfin, on n'aura pas assez de RAM."
anjinho49
Messages postés19Date d'inscriptionvendredi 2 janvier 2009StatutMembreDernière intervention31 août 2009 21 avril 2009 à 21:48
C'est bien la première fois que je dois faire ça... je croyais que j'allais entrer des données moi même.
d'ailleurs je n'ai plus aucun des problèmes que j'ai cité auparavant. Maintenant lors de la compilation j'ai ça :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Formula.main(Formula.java:162)
et je pense que ça a un rapport avec mettre quelque chose en paramètre. Mais c'est que j'ai pensé qu'il suffisait d'utiliser un fichier.txt comme tu as donné dans ton exemple en le mettant dans le dossier où je trouve le .project
Mais bon vue l'erreur que j'ai ça doit pas être ça.
Rosy Vilela
"Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c'est que, quand on y sera enfin, on n'aura pas assez de RAM."
anjinho49
Messages postés19Date d'inscriptionvendredi 2 janvier 2009StatutMembreDernière intervention31 août 2009 21 avril 2009 à 21:49
C'est bien la première fois que je dois faire ça... je croyais que j'allais entrer des données moi même.
d'ailleurs je n'ai plus aucun des problèmes que j'ai cité auparavant. Maintenant lors de la compilation j'ai ça :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Formula.main(Formula.java:162)
et je pense que ça a un rapport avec mettre quelque chose en paramètre. Mais c'est que j'ai pensé qu'il suffisait d'utiliser un fichier.txt comme tu as donné dans ton exemple en le mettant dans le dossier où je trouve le .project
Mais bon vue l'erreur que j'ai ça doit pas être ça.
Rosy Vilela
"Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c'est que, quand on y sera enfin, on n'aura pas assez de RAM."
anjinho49
Messages postés19Date d'inscriptionvendredi 2 janvier 2009StatutMembreDernière intervention31 août 2009 21 avril 2009 à 22:01
C'est bien la première fois que je dois faire ça... je croyais que j'allais entrer des données moi même.
d'ailleurs je n'ai plus aucun des problèmes que j'ai cité auparavant. Maintenant lors de la compilation j'ai ça :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Formula.main(Formula.java:162)
et je pense que ça a un rapport avec mettre quelque chose en paramètre. Mais c'est que j'ai pensé qu'il suffisait d'utiliser un fichier.txt comme tu as donné dans ton exemple en le mettant dans le dossier où je trouve le .project
Mais bon vue l'erreur que j'ai ça doit pas être ça.
Rosy Vilela
"Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c'est que, quand on y sera enfin, on n'aura pas assez de RAM."
cs_MoH008
Messages postés238Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention29 septembre 20111 21 avril 2009 à 22:03
Ton erreur indique qu'il y a un problème au niveau de taille d'un tableau. Il est possible que cela soit l'arraylist utilisée. En fait, il n'y a aucun élément dans le tableau, il est vide .... donc on ne peut pas effectuer de traitement.
Afin d'enlever tout doutes possibles, mets en paramètres le chemin absolu du fichier (comme cela peu importe où il se localise sur le disque ça va marcher)
anjinho49
Messages postés19Date d'inscriptionvendredi 2 janvier 2009StatutMembreDernière intervention31 août 2009 21 avril 2009 à 22:32
Bon alors le soucis ct de simples guillemets (soupir de désespoir) ... j'avais
Formula f = Formula.read(new BufferedReader(new FileReader(exemple.txt)));
au lieu de :
Formula f = Formula.read(new BufferedReader(new FileReader("exemple.txt")));
arf c'est triste d'être aussi nulle quand mm!
Merci beaucoup pour l'attention c'est très gentil!!! Dsl du dérangement aussi
Rosy Vilela
"Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c'est que, quand on y sera enfin, on n'aura pas assez de RAM."