Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment creer un type puis l'utiliser dans une méthode ?

    19 mai 2012 à 18:47:33

    Salut

    Voila je cherche a creer une classe (un type) Matrix puis l'utiliser dans la methode d'une autre classe pourvez vous m'aider

    voila ce que j'ai essayé de faire meis j'ai un probleme :

    public class Matrix {
         private final int[][] data;
    
         public Matrix(int[][] data) {
           this.data = data; 
          }
    


    public class testMatrice { 
    
      public Matrix[][] addMatrice(Matrix[][] mat1, Matrix[][] mat2) {
    		Matrix m1[][], m2[][];
    		
    
    		Matrix[][] som = null;
    
    		m1 = new Matrix[mat1.length][mat1[0].length];
    		m2 = new Matrix[mat2.length][mat2[0].length];
    		m1 = mat1;
    		m2 = mat2;
    
    		
    			som = new Matrix[m1.length][m1[0].length];
    			for (int i = 0; i < m1.length; i++)
    				for (int j = 0; j < m1[0].length; j++)
    					som[i][j] = m1[i][j] + m2[i][j];
    		
    
    		return som;
    	}
    
    
    }
    


    j'ai un probleme au niveau de la 18eme ligne cette ligne : m1[i][j] + m2[i][j]; est soulignée en rouge dans mon editeur eclipse et le message d'erreur est :

    Citation

    the operator "+" is undefined for the argument type Matrix



    Cordialement
    • Partager sur Facebook
    • Partager sur Twitter

    Android est SKYNET !

      19 mai 2012 à 19:13:10

      C'est normal, tu peux additioner des nombres, mais additioner des objets pour Java ça ne veut rien dire. Il peut pas savoir ce qu'il doit faire quand tu lui demandes d'ajouter 2 objets Matrix.

      Ce que tu veux c'est pas plutôt ajouter les 2 tableaux data des objets Matrix plutôt que ces objets eux-mêmes ?
      • Partager sur Facebook
      • Partager sur Twitter
      ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
        19 mai 2012 à 19:15:11

        salut

        merci pour t'as réponse mais as tu une solution a me proposé stp :euh:

        Cordialement
        • Partager sur Facebook
        • Partager sur Twitter

        Android est SKYNET !

          19 mai 2012 à 19:18:45

          Tu n'as pas répondu à ma question... puis c'est à toi de trouver la solution moi je suis juste là pour t'aider.
          • Partager sur Facebook
          • Partager sur Twitter
          ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
            19 mai 2012 à 19:20:06

            oui ce que je veux faire c'est bien ajouter deux tableau data des objets Matrix exactement
            • Partager sur Facebook
            • Partager sur Twitter

            Android est SKYNET !

              19 mai 2012 à 19:21:21

              Matrix[][] ça veut dire un tableau à 2 dimensions d'objet Matrix en clair dans Matrix[][] t

              t[0][0] c'est un objet Matrix
              t[0][1] c'est un objet Matrix
              ...
              t[n][n] c'est toujours un objet Matrix

              pour accéder à ton tableau int donnee il faut que tu fasses un getDonnee dans Matrix

              ps : va revoir le chapitre sur la poo
              • Partager sur Facebook
              • Partager sur Twitter
                19 mai 2012 à 19:24:00

                Puisque ta variable est private (ce qui est correct) il faut que tu crées un accesseur pour y accéder depuis ta méthode addMatrice().
                Dans le cours Java de ce site il y a une partie qui en parle, ça fait partie des bases de la programmation Objet (POO) et donc je te conseille de bien lire le cours.
                Après si tu as un problème où qu'il y a quelque chose que tu comprends pas le forum est là pour ça :) .
                • Partager sur Facebook
                • Partager sur Twitter
                ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                Anonyme
                  19 mai 2012 à 19:57:40

                  Je crois qu'une partie de ton problème vient d'une confusion. Ta classe Matrix contient un tableau d'entiers à 2 dimensions. Donc quand tu mets Matrix[][], c'est un tableau de Matrix à 2 dimensions. Donc pour simplifier, c'est un peu comme un tableau d'entiers à 4 dimensions.

                  Les objets que tu veux manipuler, ce sont juste des Matrix, pas des Matrix[][]. Après, il y a d'autres problèmes avec ton code mais ça devrait te donner un point de départ pour avancer.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Comment creer un type puis l'utiliser dans une méthode ?

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown