Utiliser une matrice dans plusieurs class

Aroon -  
 Aroon -
Bonjour,

J'aimerai "int" une matrice dans mon "void main" puis faire une "class" et pouvoir modifier les valeurs de ma matrice dans ma class.

Voici un programme que j'ai fait a titre d'exemple pour simplifier ma question :

Voici mon void main:

package test;

public class Test {

public static void main(String[] args) {

int matrice [][] = new int [1][1] ;
matrice [0][0] = 5 ;
new TestClass () ;
System.out.println ( matrice [0][0] );
}
}

et ma class:

package test;

public class TestClass {

public TestClass () {

matrice [0][0] = matrice [0][0] + 5 ;
}
}


Si il est possible d'utiliser ma matrice dans plusieur class sa m'arrangerai encore plus
Merci d'avance



2 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Il faut que dans ton main, tu passes ta matrice comme argument du constructeur de ta classe, afin que tu la récupères dans celui-ci pour faire ton calcul.

package test;

public class Test
{
    public static void main(String[] args)
    {
        //int[][] matrice = new int[1][1];
        //matrice[0][0] = 5;
        int[][] matrice = {{5}};
        
        TestClass test = new TestClass(matrice);
        
        System.out.println(matrice[0][0]);
    }
}

package test; 

public class TestClass
{
    public TestClass(int[][] matrice)
    {
        matrice[0][0] += 5;
    }
}
1
Aroon
 
Merci beaucoup, c'est niquel, exactement ce que je voulais :)
0
lokard Messages postés 7 Statut Membre 1
 
pour modifier une valeur dans ta matrice :
matrice[i]=(ta valeur);
i est l'indice de la valeur a modifier

pour pouvoir utiliser ton attribut dans d'autre classe :
une méthode d'accès tel que : public int[] getMatrice()
{ return matrice; }
0
Aroon
 
Je voudrai modifier mon programme pour qu'il n'y est plus d'erreur a la ligne

matrice [0][0] = matrice [0][0] + 5 ;

qui est dans ma classe...
car dans ma classe une erreur s'affiche comme quoi ma matrice n'est pas int

Qu'elles sont les lignes a remplacer et par quoi les remplacer ?
Merci.
0
lokard Messages postés 7 Statut Membre 1
 
int[][] matrice=new int[i][j] ou i et j sont des int , qui permet d'initialiser ta matrice

tu veux ajouter 5 dans la matrice a un certain indice ou placer 5 comme taille de ta matrice ?
1
Aroon > lokard Messages postés 7 Statut Membre
 
je voudrai ajouter 5 a l'indice de la matrice oui...

j'ai bien int ma matrice comme tu le dit, mais ce n'est pas ca le problème,
ma matrice est int dans mon void main... et lorsque je veut la modifier dans ma classe une erreur s'affiche comme quoi je n'est pas int ma matrice

commant faire pour que je puisse modifier les indices de ma matrice dans mes classes ?
0
lokard Messages postés 7 Statut Membre 1 > lokard Messages postés 7 Statut Membre
 
par exemple ajouter 5 aux indices i=2 et j=3 ?
matrice[2][3]=5; ( l'ancienne valeur est écrasée si il y en avait une )
0
lokard Messages postés 7 Statut Membre 1 > lokard Messages postés 7 Statut Membre
 
mais si tu veux modifier la taille de ta matrice il faut la redéfinir
0