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 :

Tableaux de Booleen


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 7
    Points
    7
    Par défaut Tableaux de Booleen
    Bonsoir à tous

    Voilà mon petit probleme, j'ai une fonction creerGrille qui prend en parametre un entier qui fait basculé l'element correspondant à true dans le tableaux de booleen, seulement voila, j'ai plusieurs entier à entrer ce qui fait que l'element qu'il m'avait mis à true precedement repasse à false pour me faire basculer a nouveau l'element suivant à true en fonction du nouvel entier en parametre

    Ce que j'aimerais c'est qu'il me laisse l'element precedent à true et non le faire repassé à false,
    par exemple si j'ai entre les entiers 2, 3, 5, j'aimerais avoir les éléments 2,3 et 5 à true dans mon tableaux de booleen.

    Le code ci-dessous me fait juste basculer à true l'element correspondant et repasse a false lors de la lecture du nouvel entier

    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
     
     
       public static boolean [ ]creerGrille(int nbr) {
     
    		boolean grille[ ]=new boolean[5];
    		for(int i=0; i<grille.length; i++) {
    			if(i+1==nbr)
    				grille[ i ] = true;
    		}
    		return grille;
    	}
     
    	public static void main(String[] args){
     
    		for(int i=0; i<=4; i++){                   
    			System.out.print("entrer un entier entre 1 et 4 : ");
    			int nbr=Clavier.lireInt();
     
    			creerGrille(nbr);
    		} 	
    	}
    Je ne sais pas si j'ai ete assez explicite dans mes propos sinon n'hesitez pas.

    D'avance merci à ceux qui me repondront

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    Faudrait déplacer ce bout de code ailleur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          boolean grille[ ]=new boolean[5];
    puisque maintenant, c'est initialisée pour chaque entrée.

    Vincent
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    C'est a dire ?

  4. #4
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    ben dans ton code,il y a 5 appels à la methode creerGrille(int n), or dans le corps de ta methode tu initialise le tableau de boolean, donc à chaque appel de la methode un nouveau Boolean[] est creer et le tableau precedent n'est plus référencé donc collecter par le Garbage Collector,autrement dit il n'existe plus.
    En bref, à chaque appel de creerGrille(int n) ,tu crees un nouveau tableau et tu agis dessus.

    Si tu ne vois toujours pas l'erreur,je t'invite à consulter les cours sur java et la POO sur ce site.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    J'ai bien compris le probleme et comment le resoudre seulement du coup comment implementer a nouveau ce que je faire sans l'initialisation du tableaux de booleen puisque si je la vire c'est toute la methode qui en ai affecté.

  6. #6
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    tu la declare comme une variable de classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public static boolean[] grille=new boolean[5];


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    OK je te remerci afrikha pour tes reponses et ta patience, toi, ainsi que vbrabant
    Tout fonctionne super

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

Discussions similaires

  1. [Tableaux] Renvoyer booleen dans array()
    Par Jiraiya42 dans le forum Langage
    Réponses: 2
    Dernier message: 25/01/2008, 21h07
  2. free sur des tableaux "a moitié dynamiques"
    Par barthelv dans le forum C
    Réponses: 4
    Dernier message: 31/07/2003, 15h30
  3. [langage] erreurs utilisation tableaux 2 dimensions
    Par drosof dans le forum Langage
    Réponses: 11
    Dernier message: 01/07/2003, 11h44
  4. Réponses: 6
    Dernier message: 04/04/2003, 15h28
  5. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

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