Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours programmation » Cours JAVA » Exercices JAVA »

Articles similaires

  • Série d'exercices Java sur la programmation orienté objet POO
  • Exercices Java : Les boucles - somme des carrés - sondage - traingle
  • Exercice JAVA opérateur infixé et postfixé
  • Exercice opération sur les tableaux JAVA
  • Exercice JAVA masquage (shadowing) et héritage
  • Exercice polymorphisme JAVA Tour de carte
  • Exercice java abstract et final Trouver les erreurs dans une hiérarchie de classes
  • Exercices Java - ordre des instructions - Signalez les erreurs - conversion devises
  • Exercice affichage et comparaison d'objets - toString, equals
  • Exercice placement sans recouvrement - tableaux et modularisation
  • Exercice java programme affiche un sapin décoré de guirlandes
  • Comment devenir un bon traducteur?

Documents similaires

  • Exercice bureautique pour réviser ensemble

  • Exercice de bureautique pour débutant

  • Cours pour commencer le JAVA

  • TP programmation web pour débutant

  • Application JAVA sur la gestion des magasins

  • Développons en Java avec Eclipse

  • Débuter avec la Méthode de Conception des Systèmes d'Information Merise

  • Cours de programmation web php methodes et applications

Exercice JAVA modularisation - erreurs fréquentes dans les méthodes

Rédigé par GC Team, Publié le 18 Août 2010, Mise à jour le Samedi, 17 Décembre 2022 17:59
Participez au vote ☆☆☆☆☆★★★★★
But:
Trouver des erreurs dans le codage de méthodes
Thème:
Modularisation
Fichiers:
ErreursMethodes.java

Chacune des méthodes methode1 à methode8 dans le programme ErreursMethodes.java ci-dessous contient une seule erreur syntaxique. Il s'agit d'erreurs liées à l'utilisation des paramètres, des variables ou de la valeur retournée par la méthode. Il n'y pas d'erreurs dans la méthode main, ni dans la méthode methodeSansErreurs. Trouvez et corrigez les erreurs !

Si vous sollicitez l'aide du compilateur pour trouver les erreurs, sachez qu'il aura de la peine avec ce type de programme où il y a beaucoup d'erreurs de structure. Il peut vous montrer la ligne approximative où se trouve une erreur, mais la solution proposée n'est pas toujours correcte, la liste des erreurs n'est pas toujours complète et les erreurs ne sont pas présentées dans le bon ordre. Dans ce genre de situation, utilisez surtout votre bon sens et vos propres connaissances de la syntaxe de Java.

 

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
class ErreursMethodes {

    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");
    }

    static int methode4 () {
        String 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 methode6 () {
        double a = 0;
        System.out.println("Méthode 6");
        return a;
    }

    static void methode7 () {
        int a = 0;
        double b = 5.5;
        methodeSansErreur(a);
        System.out.println("Méthode 7");
    }

    static void methode8 () {
        int a = 0;
        String 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
    }
}

 


 

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 retourne une valeur, i.e. qui n'a 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 sansErreur 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 sansErreur 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
    }
}

 

 

  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02