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



A voir également:

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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 6 Date d'inscription   Statut Membre Dernière intervention   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 6 Date d'inscription   Statut Membre Dernière intervention   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 6 Date d'inscription   Statut Membre Dernière intervention  
 
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 6 Date d'inscription   Statut Membre Dernière intervention   1 > lokard Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
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 6 Date d'inscription   Statut Membre Dernière intervention   1 > lokard Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
mais si tu veux modifier la taille de ta matrice il faut la redéfinir
0