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

Résolu/Fermé
Jeankowkow Messages postés 138 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 avril 2016 - Modifié par Jeankowkow le 18/10/2013 à 17:51
Jeankowkow Messages postés 138 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 avril 2016 - 20 oct. 2013 à 20:20
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 !

2 réponses

Mazess Messages postés 7 Date d'inscription vendredi 18 octobre 2013 Statut Membre Dernière intervention 27 octobre 2013 2
18 oct. 2013 à 18:39
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 dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 avril 2016 43
20 oct. 2013 à 20:20
Ok, merci ça fonctionne !
0