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

Collection et Stream Java Discussion :

Problème boucle tableau


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 9
    Par défaut Problème boucle tableau
    Bonsoir,
    Je debute en Java et voila mon code;
    Je genere donc un nombre aléatoirement, que je souhaite comparer à un tableau de valeur. Mais mon boolean me retourne tout le temps la meme valeur(false)
    Je sais que je pourrais utiliser "%2" mais je prefere cette methode puisqu'elle est utilisés plusieurs fois pour qualifier le nombre(paire, rouge)...Je me comprend...
    Pour ce qui du boolean je l'ai declaré dans les attributs et initialisé à faux.
    Quelqu'un peut m'aider?
    Images attachées Images attachées  

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Remarque préliminaire #1 : pour montrer ton code, fais un simple copier/coller et entoure-le de la balise [CODE]. N'attache pas d'image, ça sert à autre chose.

    Remarque préliminaire #2 : cet extrait de code n'est pas suffisant. On ne va pas deviner ce que sont toutes ces variables. Il pourrait y avoir un problème de ce côté-là.

    Concernant ton problème, tu devrais peut-être arrêter la boucle une fois que tu as trouvé un nombre qui te convient. En l'état, ta boucle parcourt absolument tout le tableau, sans s'arrêter avant la fin, et ne garde que le tout dernier résultat.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 9
    Par défaut
    Voici le reste;
    Pour ce qui est d'arrêter la boucle j'ai essayé avec un break mais n'y suis pas parvenu!
    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
    protected boolean nombreEstPair=false;
    protected int[]pair=new int[]{2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36};
    public int tirage(){
    		Random r=new Random();
    		int nombre=r.nextInt(37);
    	//permet d'obtenir un nombre pseudo-aléatoire compris entre 0(inclus) et 37(exclus)
    		return nombre;
    	}
     
    public boolean estPair(){
    		for (int i=0;i<this.pair.length;i++){
    			if (this.nombre==pair[i]){
    				this.nombreEstPair=true;
    			}else{this.nombreEstPair=false;
    			}	
    		}return nombreEstPair;	
    	}

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Bissmark Voir le message
    Pour ce qui est d'arrêter la boucle j'ai essayé avec un break mais n'y suis pas parvenu!
    Mais encore ? Tu aurais peut-être pu nous montrer ?

    Fin bon, exemple d'utilisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(int i = 0; i < nombreDIterations(); i++) {
      faireDesTrucs(i);
      if(ilEstTempsDeSArreter(i)) {
        break;
      }
      faireDAutresTrucsSiOnVeut(i);
    }
    Sinon, vu que c'est dans une méthode qui contient juste cette boucle, on peut en sortir avec un return :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    boolean verifierUnTruc() {
      for(int i = 0; i < nombreDIterations(); i++) {
        int calcul = calculerPourCetteIteration(i);
        if(leCalculVerifieBien(calcul)) {
          return true;
        }
      }
      return false;
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 9
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Mais encore ? Tu aurais peut-être pu nous montrer ?

    Fin bon, exemple d'utilisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(int i = 0; i < nombreDIterations(); i++) {
      faireDesTrucs(i);
      if(ilEstTempsDeSArreter(i)) {
        break;
      }
      faireDAutresTrucsSiOnVeut(i);
    }
    Sinon, vu que c'est dans une méthode qui contient juste cette boucle, on peut en sortir avec un return :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    boolean verifierUnTruc() {
      for(int i = 0; i < nombreDIterations(); i++) {
        int calcul = calculerPourCetteIteration(i);
        if(leCalculVerifieBien(calcul)) {
          return true;
        }
      }
      return false;
    }
    Mais excuses il est bien vraie que mettre ma tentative concernant le break aurai été bien venu. Mais en toute franchise j'y vais à tâton est par consequent avais essayé le break avant de demander votre aide;
    Alors voila ce que j'ai avec un break (ca ne marche pas) en essayant d'appliquer la methode ci-dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	public boolean estPair(){
    		boolean est_pair=false;
    		for(int i = 0; i < pair.length; i++) {
    			  est_pair=true;
    			  if(this.nombre==pair[i]) {
    			    break;
    			  }
     
    			}
    		return est_pair;
    	}

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 239
    Par défaut
    Tu as essayé de coder comme cela (en espérant que this.nombre contient la bonne valeur que tu veux tester)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public boolean estPair(){
     
                    this.nombreEstPair=false;
    		for (int i=0;i<this.pair.length;i++){
    			if (this.nombre==pair[i]){
    				this.nombreEstPair=true;
                                    break;
    			}
     
    		}
                    return this.nombreEstPair;	
    	}

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Il faut penser à arrêter la boucle quand tu as trouvé ton nombre dans le tableau.

    PS: pourquoi se casser la tête à faire un printscreen, à le découper et à l'attacher plutot que de copier / coller ton code directement sur le forum. En plus, ce n'est pas pratique à lire /tester / corriger.

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

Discussions similaires

  1. [CS4] Parser tableau : problème boucle for.
    Par nanou777 dans le forum ActionScript 3
    Réponses: 5
    Dernier message: 16/04/2011, 20h36
  2. [phpToPDF] Boucle dans un tableau
    Par breizhlama dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 03/05/2010, 16h45
  3. Problème boucle tableau ?
    Par jbarreau-mainson dans le forum Débuter
    Réponses: 5
    Dernier message: 28/02/2008, 11h21
  4. Problème de tableau
    Par tom06440 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/04/2005, 20h30
  5. Problème de tableau
    Par krfa1 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/02/2005, 11h09

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