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

Résolu
Jeankowkow Messages postés 154 Statut Membre -  
Jeankowkow Messages postés 154 Statut Membre -
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 Statut Membre 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 154 Statut Membre 43
 
Ok, merci ça fonctionne !
0