Exception lors de l'accès à un tableau à 2 dimensions

Résolu
Jeankowkow Messages postés 138 Date d'inscription   Statut Membre Dernière intervention   -  
Jeankowkow Messages postés 138 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour
J'ai un problème dans mon code Java. Etant nouveau dans le monde de Java, l'erreur n'est peut-être pas bien compliquée...

J'ai une classe Matrice pour la gestion de matrices de booléen. Lorsque je créé une Matrice, une exception est levée dans le constructeur lors de l'accès au tableau à 2 dimensions. En fait, à chaque fois que j'essaye d'accéder à mon tableau à 2 dimensions, une exception est levée.

Voilà le code de la classe Matrice :

public class Matrice
{
private boolean valeurs[][];
private int size;

Matrice(int size)
{
this.size = size;

for(int i = 0; i < size; i++)
for(int j = 0; j < size; j++)
valeurs[i][j] = (Math.random() >= 0.5); // Erreur : une exception est levée lors de l'accès à valeurs[i][j]
}

// Obtenir la taille de la matrice
int getSize() { return this.size; }

// Obtenir la valeur d'une case de la matrice
boolean getCase(int x, int y) { return this.valeurs[x][y]; }

// Affiche la matrice
void affiche()
{
for(int i = 0; i < this.getSize(); i++)
{
for(int j = 0; j < this.getSize(); j++)
System.out.print(this.getCase(i, j) + " ");
System.out.println();
}
}
}


Merci pour votre aide !
A voir également:

2 réponses

Mazess Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   2
 
Tu dois creer ton tableau de booleans dans ton constructeur :


Matrice(int size)
{
this.size = size;
this.valeurs=new boolean[size][size];

for(int i = 0; i < size; i++)
for(int j = 0; j < size; j++)
valeurs[i][j] = (Math.random() >= 0.5); // Erreur : une exception est levée lors de l'accès à valeurs[i][j]
}

En gros, en java tu es obligé de dire au compilateur "Réserve de la place pour mon tableau, qui est de taille size..." ;)
2
Jeankowkow Messages postés 138 Date d'inscription   Statut Membre Dernière intervention   43
 
Ok, merci ça fonctionne !
0