Probleme de passage de parametre d'une methode au main

Fermé
hipster_ftw Messages postés 11 Date d'inscription dimanche 10 février 2013 Statut Membre Dernière intervention 10 février 2013 - 10 févr. 2013 à 17:10
hipster_ftw Messages postés 11 Date d'inscription dimanche 10 février 2013 Statut Membre Dernière intervention 10 février 2013 - 10 févr. 2013 à 17:45
Bonjour,

j'ai fait une méthode multiplication :

public class Multiplication {
public int[][] matrice=new int[5][6];
public static int [][] table_multiplication(int[][]matrice)
{
for(int i=0;i<matrice[i].length;i++)
{
for(int j=0;j<matrice.length;j++)
{
matrice[i][j]=i*j;
}
}

return matrice;
}
}
et quand dans le main je crée mon objet et que j'essaie d'utiliser la méthode, j'ai une erreur d'argument. Quelqu'un aurait-il une idée ?

main :

public class Main {


public static void main(String[] args) {
Multiplication mult;
mult=new Multiplication();
mult.table_multiplication(matrice);




}
}

Merci :)


2 réponses

KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 3 005
10 févr. 2013 à 17:41
Il faut que tu regardes à quoi sert le mot-clé static !

Si table_multiplication est une méthode static alors tu n'as pas besoin d'instancier un objet pour l'utiliser. En revanche, si matrice n'est pas static alors là tu dois utiliser un objet.

Multiplication mult = new Multiplication();
Multiplication.table_multiplication(mult.matrice);

Remarque : bien que ce code fonctionne ainsi, je pense qu'il faut revoir l'intérêt de mettre ta matrice comme attribut de la classe Multiplication...
1
hipster_ftw Messages postés 11 Date d'inscription dimanche 10 février 2013 Statut Membre Dernière intervention 10 février 2013
10 févr. 2013 à 17:45
Merci beaucoup, j'avais zappé le fonctionnement des méthodes static !
0