IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Souci de length


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 252
    Par défaut Souci de length
    Bonjour à tous
    J'ai un souci avec un code relativement simple mais je ne comprends pas trop le bug que j'ai :
    Voici le code

    //code
    public class Matrice
    {
    int [][] mat;

    private int taille;
    public Matrice(int taille)
    {
    if(taille > 0)
    mat = new int[taille][taille];
    }

    public void multiplie(int n)
    {
    for(int i=0;i<mat.length;i++)
    {
    for(int j=0;j<mat[i].length;j++)
    mat[i][j] *= n;
    }
    }

    public void somme(Matrice mat2)
    {
    if (mat2.length=mat.length);//Bug, le compilateur me dit que je dois creer un champ length dans matrice (C'est pourtant deja fait non ?)
    {
    for(int i=0;i<mat.length;i++)
    {
    for(int j=0;j<mat[i].length;j++)
    mat[i][j] += mat2[i][j];//Le compilateur me dit que array est requit, mais Matrice à été trouvé, inconvertible types, trouvé nulltype et on aurait besoin d'un int...
    }
    }
    }

    public void affiche()
    {
    for(int i=0;i<mat.length;i++)
    {
    for(int j=0;j<mat[i].length;i++)
    System.out.print(mat[i][j]+" ");
    System.out.println();
    }
    }
    }
    code//
    Les bugs sont mis en commmentaire, j'ai un souci sur la fonction somme. Le compilateur me dit que je dosi creer un champ length sans matrice et toujours sur la même fonction j'ai un souci "array"
    Pouvez vous m'aider s'il vous plait ?
    Merci

    Ps: Pouvez vous me dire qu'elle sont les balises "code" à insérer dans les post du forum s'il vous plait, ca sera mieux pour tout le monde... Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Matrice2 n'est pas un tableau, mais un _objet_. C'est cet objet qui _contient_ un tableau. Tu ne dois donc pas appeler mat2[x][x], mais mat2.mat[x][x].

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 282
    Par défaut


    Tu as différents problèmes dans ton code, déjà tu essayes d'accéder à length de mat2 mais tu n'as pas de champs length public dans ta classe ...
    Ensuite tu essayes d'accéder à mat2[i][j] mais même problème, int[][]mat est un champs, ce n'est pas la classe lui même, comment veux tu accéder à ce champs (il faut utiliser mat2.mat !) ? je penses que tu devrais relire des cours sur la POO pour mieux comprendre tes erreurs ...
    Ah oui on ne compare par avec "=" mais "==" ou la méthode equals(Object X) pour les Objects

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 73
    Par défaut
    Bonjour Bipbip,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    public class Matrice
    {
        int [][] mat;
     
        private int taille;
     
    public Matrice(int taille)
        {
        if(taille > 0)
        mat = new int[taille][taille];
        }
     
    public void multiplie(int n)
        {
        for(int i=0;i<mat.length;i++)
            {
            for(int j=0;j<mat[i].length;j++)
                mat[i][j] *= n;
            }
        }
     
    public void somme(int [][] mat2)                // Matrice est une classe est pas un Type. Hors j'ai l'impression que tu l'utilises comme tel.
        {
        if (mat2.length==mat.length);                //Attention a ne pas confondre l'affectation d'un test.
            {
            for(int i=0;i<mat.length;i++)
                {
                for(int j=0;j<mat[i].length;j++)
                    mat[i][j] += mat2[i][j];
                }
            }
        }
     
    public void affiche()
        {
        for(int i=0;i<mat.length;i++)
            {
            for(int j=0;j<mat[i].length;i++)
                System.out.print(mat[i][j]+" ");
            System.out.println();
            }
        }
    }
    A+

    PS : Grillé. Voila ce que c'est de remettre en forme le code.

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 252
    Par défaut
    Merci à tous pour vos réponse.
    Je vais essayé de regarder ça de plus près... Après avoir relu mon cours sur le java
    Ps : Effecivement, j'avais fais une coquille sur le test...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Souci avec la fonction length(x)
    Par latiole dans le forum MATLAB
    Réponses: 4
    Dernier message: 06/08/2012, 10h27
  2. ERROR: pg_atoi: zero-length string
    Par steelspirit92 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 23/08/2003, 23h29
  3. [File et Directory ListBox] Soucis de filtre
    Par Mercilius dans le forum Composants VCL
    Réponses: 8
    Dernier message: 04/04/2003, 17h17
  4. Réponses: 4
    Dernier message: 16/02/2003, 13h16
  5. Réponses: 2
    Dernier message: 03/10/2002, 18h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo