IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

[Débutant] une boucle for me rend fou.


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Par défaut [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 : 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));
    		}*/
    	}
    }
    Si quelqu'un voie pourquoi je ne rentre pas dans la boucle.
    Merci.

  2. #2
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Sans doute à cause de cette boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(int z=1;z>nbr;z++){
    z < nbr !!!

    Sinon, tu ne programmes pas tellement en objet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    listVariables = new ArrayList();
    listVariableValues = new ArrayList();
    En objet, on fait soit une HashMap, soit une classe Variable avec un attribut value...

  3. #3
    Membre éprouvé Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Par défaut
    Arf le boulet , j'aurai du le voir.

    Sinon peut tu me détailler ta seconde remarque ?
    J'apprend JAVA "à la maison" , et sur ma formation afpa , le java et bien on en a survolé le principe (2 semaines).
    En gros je n'est pas compris pourquoi ce que j'ai fait est mal (moi qui pensais avoir compris l'objet , lol) enfin il est jamais tard pour apprendre.

  4. #4
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Ce type de remarque n'est pas spécifique au langage java mais à la programmation orientée objet. Tu trouveras sur ce site une bonne traduction de ce que je considère comme la bible de la POO : thinking in java.

  5. #5
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par iohack
    Ce type de remarque n'est pas spécifique au langage java mais à la programmation orientée objet. Tu trouveras sur ce site une bonne traduction de ce que je considère comme la bible de la POO : thinking in java.
    Ayant commencé le java il n'y a que 3 ans, je n'ai survolé ce livre (au format pdf de 1200 pages) que récemment, c'était une bible à l'époque où il a été écrit, mais maintenant beaucoup de choses écrites sont dépassées avec java 1.5...

  6. #6
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    arf désolé. Je commence à être un vieux de la veille ( j'ai commencé par le C, puis C++ et c'est enfin que j'ai découvert java 1.1 !!!! et tout ça en cours à l'IUT où java représentait l'avenir, la révolution par rapport au C++ )
    Pour info c'était en 1998

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Modifier la limite d'une boucle For dynamiquement
    Par seiryujay dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/12/2006, 18h45
  2. : remplir des zones de texte avec une boucle For
    Par Haro_GSD dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2005, 21h23
  3. Problème avec une DLL dans une boucle For
    Par BraDim dans le forum Langage
    Réponses: 5
    Dernier message: 20/09/2005, 12h22
  4. [batch] incrémentation dans une boucle for
    Par bart64 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 08/09/2004, 20h05
  5. Réponses: 3
    Dernier message: 06/07/2004, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo