[Précédent]
[Index] | [Enoncé] | [Version imprimable]
[Prochain]

5.5
  Erreurs fréquentes dans les méthodes - Corrigé
Niveau 1
 
 
Fichiers:
  ErreursMethodesCorrige.java    

  • methode1: Même s'il n'y a pas d'arguments à envoyer à la méthode, il doit y avoir une liste de paramètres dans l'en-tête. Dans ce cas, il faut ajouter des parenthèses vides.

  • methode2: Il y a une référence à la variable i1 qui n'est pas visible dans la méthode methode2. La portée d'une variable est limitée à son bloc de déclaration, dans le cas de i1, à la méthode main.

  • methode3: La dernière instruction exécutée n'est pas return. Cette instruction est obligatoire pour toutes les méthodes qui retournent une valeur, i.e. qui n'ont pas le type void dans l'en-tête.

  • methode4: Le type de la valeur retournée n'est pas le même que le type specifié dans l'en-tête de la méthode.

  • methode5: La méthode essaie de retourner une valeur avec return. Cela n'est pas possible si l'en-tête de la méthode est void.

  • methode6: La méthode n'a pas de type pour la valeur retournée. Si la méthode ne retourne pas de valeur, il faut indiquer void dans l'en-tête.

  • methode7: La méthode methodeSansErreur est appelée avec 1 argument tandis qu'elle en demande 2. Le nombre d'arguments doit toujours correspondre au nombre de paramètres.

  • methode8: La méthode methodeSansErreur est maintenant appelée avec 2 arguments, ce qui est correct, mais le type des arguments ne correspond pas au type des paramètres.
  •  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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    class ErreursMethodesCorrige {
    
        public static void main(String[] args) {
            int i1 = methode1();
            int i2 = methode2();
            int i3 = methode3();
            int i4 = methode4();
            methode5();
            methode6();
            methode7();
            methode8();
        }
    
        static int methode1() {
            int a = 0;
            System.out.println("Méthode 1");
            return a;
        }
    
        static int methode2() {
            int a = 0;
            // i1 = 10;
            System.out.println("Méthode 2");
            return a;
        }
    
        static int methode3() {
            int a = 0;
            System.out.println("Méthode 3");
            return a;
        }
    
        static int methode4() {
            // String a = "0";
            int a = 0;
            System.out.println("Méthode 4");
            return a;
        }
    
        static void methode5() {
            double a = 0;
            System.out.println("Méthode 5");
            // return a;
        }
    
        static double methode6() {
            double a = 0;
            System.out.println("Méthode 6");
            return a;
        }
    
        static void methode7() {
            int a = 0;
            double b = 5.5;
            methodeSansErreur(a, b);
            System.out.println("Méthode 7");
        }
    
        static void methode8() {
            int a = 0;
            // String b = "5.5";
            double  b = 5.5;
            methodeSansErreur(a, b);
            System.out.println("Méthode 8");
        }
    
        static void methodeSansErreur(int a, double b) {
            // Cette méthode ne fait rien du tout
        }
    }

     


    [Précédent]
    [Index] | [Enoncé] | [Version imprimable]
    [Prochain]