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 :

Création tableau 2 dimensions


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 168
    Par défaut Création tableau 2 dimensions
    Bonjour,

    Je commence le Java et pour pratiquer j'ai recuperer le cahier des charges d'un projet. Ce projet consiste en la mise en place d'un jeu avec un plateau carrée.

    Je cherche donc à créer un tableau nxn. Chaque case de ce plateau doit posséder une valeur.

    J'ai donc créé 2 classes. Une classe 'case' et une classe 'grille' qui consistera en un tableau de cases à 2 dimensions. Voici le code que j'ai pour le moment

    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
     
    public class grille {
     
    	private Case[][] plateau;
     
    	public grille(int n){
    		Case[][] cases = new Case[n][n];
    		if (cases[0][0] instanceof Case) {
    			System.out.println("cases[0][0] est bien une case!");
    		}
    		cases[0][0].setValeur(1);
    		plateau = cases;
     
    	}
     
    	public Case[][] getPlateau() {
    		return plateau;
    	}
     
    	public void setPlateau(Case[][] cases) {
    		this.plateau = cases;
    	}
     
    }
     
    public class Case {
     
    	private int valeur;
    	private int joueur;
     
    	public Case(){
    		System.out.println("Creation d'une case.");
    		this.valeur=1;
    	}
     
    	public int getValeur() {
    		return valeur;
    	}
     
    	public void setValeur(int valeur) {
    		this.valeur = valeur;
    	}
     
    	public int getJoueur() {
    		return joueur;
    	}
     
    	public void setJoueur(int joueur) {
    		this.joueur = joueur;
    	}
    }
     
    //Debut du code
    public class main {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
     
    		int n;
    		n=5;
    		grille Plateau = new grille(n);
    		System.out.println("OK");
     
    	}
     
    }
    Je ne comprend pas pourquoi cases[0][0] n'est pas du type Case (car le msg ne s'affiche pas!) et donc n'accepte pas la methode setValeur. Voila si vous savez d'où vient le problème ou si vous avez eventuellement une autre façon de procéder, cela m'aiderait fortement

    Bonne journée,
    Chipss.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2010
    Messages : 394
    Par défaut
    Bonjour,

    Tu as définis ton tableau, mais tu n'en as pas initialisé les éléments. Ainsi, en l'état, cases[0][0] est null, et a fortiori, ce n'est pas une Case.

    Tu dois donc initialiser toutes les cases de ton tableau avant de pouvoir travailler dessus.

    Mako.

  3. #3
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 168
    Par défaut
    Merci mako j'avais en effet déjà trouvé la solution tout seul

    Voici le code qui marche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public grille(int n){
    Case[][] cases = new Case[n][n];
    for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
    cases[i][j]=new Case();
    cases[i][j].setValeur(1);
    }
    }
    Merci encore pour ta réponse

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Par défaut
    N'oublie pas de mettre ton sujet en Résolu si c'est le cas!

Discussions similaires

  1. Création Tableau 2 dimensions
    Par axel56 dans le forum WinDev
    Réponses: 16
    Dernier message: 02/04/2014, 08h24
  2. [WD14] Création tableau à deux dimensions
    Par heiti dans le forum WinDev
    Réponses: 10
    Dernier message: 19/03/2014, 10h28
  3. [WD14] création/importation Tableau à 2 dimension ?
    Par jaouadi dans le forum WinDev
    Réponses: 7
    Dernier message: 24/10/2009, 20h57
  4. [POO] Création de tableau à 2 dimensions dans un For
    Par Clarkocb dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 17/09/2008, 21h35
  5. Réponses: 3
    Dernier message: 22/02/2008, 09h24

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