[Débutant] une boucle for me rend fou.
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 :
Code:
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));
}*/
}
} |
Si quelqu'un voie pourquoi je ne rentre pas dans la boucle.
Merci.