Voici mon soucis je tente de faire une applet qui génère des tables de verités.
Et j'ai une classe EquationProcess , dont le rôle est de préparer cela.
En faite j'ai une méthode GetAllVaribles , qui stock dans un ArrayList (le Vector j'en est eu marre ) , les variables , seulement je n'arrive pas à le remplir.
Et il semblerai qu'une boucle me pose soucis , voici le code :
Si quelqu'un voie pourquoi je ne rentre pas dans la boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101 package EquationResolver; import java.util.*; public class EquationProcess { String strEquation; String test; char erf; int nbrVariable; ArrayList listVariables; ArrayList listVariableValues; public EquationProcess(String in){ if(in.length() == 0){ System.out.println("erreur"); } listVariables = new ArrayList(); listVariableValues = new ArrayList(); strEquation = in.trim(); strEquation = strEquation.toUpperCase(); GetAllVariable(strEquation); } /** * Rempli le vecteur listVariables avec les variables de l'équation saisie * @param eqa */ void GetAllVariable(String eqa){ int nbr = eqa.length(); String tmp=""; test = eqa; System.out.println("debut de boucle"); System.out.println(nbr); for(int z=1;z>nbr;z++){ System.out.println("merde"); tmp = eqa.substring(z, z+1); System.out.println(z); } System.out.println("fin de boucle"); } /** * Détermine si une variable est déja présente ou non * dans le vecteur. * @param varia variable à tester. * @return true si existe déja , false sinon */ boolean ExistInList(char varia){ return true; } /** * Transforme un entier en code binaire. * @param nbr entier à convertir * @return String mot binaire représentant l'entier. */ String ToBinaryString(int nbr){ String rbinaire = ""; int reste; int nombre; if (nbr == 0){ return rbinaire; } else{ nombre = nbr; reste=0; while(nombre >1){ reste = nombre % 2; nombre = nombre / 2; if(reste == 0){ rbinaire = rbinaire + '0'; } else{ rbinaire = rbinaire + '1'; } } if(nombre == 0){ rbinaire = rbinaire + '0'; } if(nombre == 1){ rbinaire = rbinaire + '1'; } } /*On inverse le mot binaire dans le bon sens */ int nbrChar = rbinaire.length()-1; String retour=""; for(int j=nbrChar;j>=0;j--){ retour += rbinaire.charAt(j); } return retour; } public static void main(String[] args){ int nbr = 1000000; EquationProcess moi = new EquationProcess("bla bla"); String out = moi.ToBinaryString(nbr); System.out.println(out); System.out.println(moi.listVariables.toString()); System.out.println(moi.listVariables.size()); System.out.println(moi.test); System.out.println(moi.erf); System.out.println(moi.strEquation); /*for(int i=1;i>moi.listVariables.size()+1;i++){ System.out.println(moi.listVariables.elementAt(i)); }*/ } }
Merci.
Partager