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

avec Java Discussion :

compilation avec une methode de tableaux en parametre


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 40
    Par défaut compilation avec une methode de tableaux en parametre
    Bonsoir,

    J'ai 3fois la meme erreur que je ne trouve pas :

    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
     
     
    class exo83 {
        static boolean estegal (int[] a1, int[] a2, int[] a3, int[] a4) {
         boolean res = false;
    	 int i;
    	 if ( a1[i]==a2[i]){
    	 if ( (a1[i]!=a3[i]) || ( a1[i]!=a4[i])){
    	    res = true;}
    	  }else{ 
    	    res = false; 
    		}
    		return res;
    	 }
     
      public static void main (String [] args) {
    	int [] t1 = {4,5,6} ;
    	int [] t2 = {4,5,6} ;
    	int [] t3 = {4,5} ;
    	int [] t4 = {6,5,4} ;
    	Terminal.ecrireStringln(" voici le resultat de comparaison de t1 = t2" + estegal(t1,t2));
    	Terminal.ecrireStringln(" voici le resultat de comparaison de t1 = t3" + estegal(t1,t3));
    	Terminal.ecrireStringln(" voici le resultat de comparaison de  "  + t1 + " et de " + t4 + estegal(t1,t4));
    }
    }
    Le compilateur m'indique 3 fois la meme erreur : c'est à dire

    C:\Documents and Settings\rohmer>javac "C:\Documents and Settings\rohmer\exo83.j
    ava"
    C:\Documents and Settings\rohmer\exo83.java:19: estegal(int[],int[],int[],int[])
    in exo83 cannot be applied to (int[],int[])
    Terminal.ecrireStringln(" voici le resultat de comparaison de t1 = t2" +
    estegal(t1,t2));

    ^
    C:\Documents and Settings\rohmer\exo83.java:20: estegal(int[],int[],int[],int[])
    in exo83 cannot be applied to (int[],int[])
    Terminal.ecrireStringln(" voici le resultat de comparaison de t1 = t3" +
    estegal(t1,t3));

    ^
    C:\Documents and Settings\rohmer\exo83.java:21: estegal(int[],int[],int[],int[])
    in exo83 cannot be applied to (int[],int[])
    Terminal.ecrireStringln(" voici le resultat de comparaison de " + t1 +
    " et de " + t4 + estegal(t1,t4));

    ^
    3 errors

    ??????

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Bah, tu définis une fonction qui demande 4 paramètres et ensuite tu essaies de l'appeler en lui donnant 2 paramètres seulement... ça ne risque pas de marcher.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 40
    Par défaut
    D'accord, il faut bien 4 parametres puisqu'il compare 4 tableaux; et lors de l'appel de methode il y a comparaison de 2 tableaux a la suite, donc comment l'écrire le code ?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Je dirais que :
    - soit tu écris une méthode qui compare 2 tableaux, et tu l'appelles avec 2 paramètres
    - soit tu écris une méthode qui compare 4 tableaux, et tu l'appelles avec 4 paramètres

    (remarque : tu peux aussi définir à la fois une méthode estegal(int[],int[]) et une méthode estegal(int[],int[],int[],int[]) grâce à la surcharge)

    C'est toi qui sais quel traitement tu veux effectuer dans ton code. Si le but est de comparer les tableaux 2 à 2, pourquoi avoir défini une méthode prenant en paramètre 4 tableaux ?

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 40
    Par défaut
    Le programme compile maintenant, mais au lancement il m'indique :

    C:\Documents and Settings\rohmer>java exo83
    Exception in thread "main" java.lang.NullPointerException
    at exo83.estegal(exo83.java:6)
    at exo83.main(exo83.java:19)

    ??

  6. #6
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Citation Envoyé par stephcast Voir le message
    Le programme compile maintenant, mais au lancement il m'indique :

    C:\Documents and Settings\rohmer>java exo83
    Exception in thread "main" java.lang.NullPointerException
    at exo83.estegal(exo83.java:6)
    at exo83.main(exo83.java:19)

    ??
    Pouvons nous voir le code? tu essaies d'utilier une classe non encore instanciée.

Discussions similaires

  1. probleme avec une methode static dans le body d'une jsp
    Par amadou.deme dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 19/02/2007, 08h47
  2. Compilation avec une lib partagée
    Par GLDavid dans le forum Linux
    Réponses: 3
    Dernier message: 26/07/2006, 15h13
  3. Réponses: 5
    Dernier message: 18/06/2006, 12h48
  4. [POO] Prob avec une méthode de classe
    Par Ludo75 dans le forum Langage
    Réponses: 9
    Dernier message: 06/02/2006, 22h37

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