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 :

[debutant] Initialiser des booleens à true dans un tableau


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Par défaut [debutant] Initialiser des booleens à true dans un tableau
    Bonjour à tous!

    Je suis en train de créer une classe Card pour faire des jeux de cartes.

    J'ai donc créé un tableau de booleens à 2 dimensions (13,4) représentant les 52 cartes d'un paquet (je ne m'occupe pas encore des jokers) et qui sert à savoir si une carte a déjà été distribuée ou non.

    Mais par défaut les booleens sont initialisés à false.

    Comment faire pour les initialiser à true?


    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private boolean [] [] tab = new boolean [13] [4];

    Et j'ai une question plus conceptuelle : pensez-vous que ce tableau doit se trouver dans ma classe Card ou dans la classe de mon jeu?

  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
    [QUOTE=dolu02]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private boolean [][] tab = new boolean[13][4];
    for(int i = 0; i < tab.length; i++) {
        for(int j = 0; j < tab[0].length; j++) {
            tab[i][j] = true;
        }
    }

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Par défaut
    ou bien avec Arrays.fill :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    boolean [][] tab = new boolean[13][4];
    for(int i = 0; i < tab.length; i++) {
       Arrays.fill(tab[i], true);
    }

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Par défaut
    Ok, merci!

    Je pensais qu'il y avait peut-être un paramètre ou qqchose comme ça qui initialisait d'office à true.

    Mais je vais essayer ce que vous avez dit.






    Personne pour ma 2ème question?

  5. #5
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par the-gtm
    ou bien avec Arrays.fill :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    boolean [][] tab = new boolean[13][4];
    for(int i = 0; i < tab.length; i++) {
       Arrays.fill(tab[i], true);
    }
    Si je puis me permettre, l'intérêt de la méthode Arrays.fill() c'est justement qu'elle permet de se passer de boucle puisqu'elle rempli TOUTES les cases du tableau donné en paramétre avec une valeur donnée.

    Par conséquent le code correct avec Arrays.fill() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Arrays.fill(tab, true);
    Pas besoin de boucle donc.

  6. #6
    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 Descent
    Si je puis me permettre, l'intérêt de la méthode Arrays.fill() c'est justement qu'elle permet de se passer de boucle puisqu'elle rempli TOUTES les cases du tableau donné en paramétre avec une valeur donnée.

    Par conséquent le code correct avec Arrays.fill() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Arrays.fill(tab, true);
    Pas besoin de boucle donc.
    Arrays.fill() ne remplit qu'une dimension du tableau, si t'as 2 dimensions, ça ne marche pas...

  7. #7
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par ®om
    Arrays.fill() ne remplit qu'une dimension du tableau, si t'as 2 dimensions, ça ne marche pas...
    C'est vrai, j'ai rien dit.

    On va dire que j'étais mal réveillé.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/02/2011, 18h09
  2. Réponses: 6
    Dernier message: 14/03/2007, 22h04
  3. Réponses: 2
    Dernier message: 28/11/2006, 11h20
  4. Réponses: 15
    Dernier message: 08/08/2006, 17h35
  5. Réponses: 10
    Dernier message: 06/07/2006, 21h57

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