La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.

Présentations similaires


Présentation au sujet: "Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java."— Transcription de la présentation:

1 Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java

2 2013 - 2014Master SIGLIS2 Nommer et placer incorrectement un fichier java  La classe X doit être déclarée dans le fichier X.java  Si X appartient au package p alors : X.java doit être placé dans le dossier p

3 2013 - 2014Master SIGLIS3 Erreur d'encodage des caractères Quand on fait un projet Netbeans avec les fichiers de la correction on a une erreur "unmappable character for encoding UTF-8" Il faut changer l'encodage du projet : il est encodé par défaut en UTF-8 il faut passer en ISO-8859-1 Dans la vue Projet/Bouton Droit sur la racine du Projet/Selectionner Properties, Dans la fenêtre qui s'affiche, selectionner Sources, puis changer l'encodage (encoding) de UTF-8 en ISO-8859-1

4 2013 - 2014Master SIGLIS4 tous les mots clés Java sont en minuscule le message d'erreur dépend du mot clé incorrectement orthographié Exemple : pour class Line nn: class or interface declaration expected class, interface, extends, for, do while, try, catch, throws, public,private, if, else

5 2013 - 2014Master SIGLIS5 toutes les instructions doivent se terminer par un point-virgule il manque un ; quand il y a un problème de compilation un point rouge s'affiche Quand on déplace la souris au dessus du point rouge on a une aide sur l'erreur : ici il manque un ; rajouter un ; corrige l'erreur

6 2013 - 2014Master SIGLIS6 les blocs sont ouvert par une { et fermés par une } Conséquence : il doit y avoir autant de { que de } !!  Quand on oublie une accolade une erreur est détectée mais pas toujours à l'endroit de l'erreur !  De plus l'erreur varie  Quand on a une erreur que l'on n'arrive pas à expliquer c'est souvent une bonne idée de vérifier que l'on a autant de { que de } Souvenez vous :  il doit y avoir une bloc pour la classe  toute méthode doit définir un bloc  les structures de controles utilisent des blocs si elles contiennent plus d'une instruction bloc de la classe bloc de la méthode main bloc du do blocs du if

7 2013 - 2014Master SIGLIS7 une variable doit être obligatoire définie jeanDurand n'est pas défini Partout où elle est mentionnée on a une erreur !!! Déclarer la variable résoud le problème Erreur : "Cannot find symbol symbol jeanDurand"

8 2013 - 2014Master SIGLIS8 Une constante de type String définie au dela de la ligne String s = "A very long string which just happens to go over the end of a line and causes a problem with the compiler"; Erreur : Line nn: ';' expected Solution : String s = "A very long string which just happens to go over the end "+ "of a line and causes a problem with the compiler"

9 2013 - 2014Master SIGLIS9 Un appel à une méthode sans argument sans mettre les parenthèses j eanDurand.isMineur au lieu de jeanDurand.isMineur() Line nn: Invalid expression statement Erreur

10 2013 - 2014Master SIGLIS10 Oublier d'importer un package Quand on utilise un objet, une méthode, une constante qui est définie dans un package externe, il faut obligatoirement importer ce package import java.util.LinkedList; Exemple Permet d'utiliser les listes

11 2013 - 2014Master SIGLIS11 Java est sensible à la casse  la variable jeanDurand et la variable jeandurand ne sont pas les mêmes  la classe String et la classe string ne sont pas les mêmes Line nn: Class xxxx not found in type declaration. ou Line nn: Undefined variable: xxxx Erreurs

12 2013 - 2014Master SIGLIS12 spécifier les arguments d'une méthode incorrectement public int[] calcul(int a, int b, String c) Exemple  le type de tous les arguments doit être spécifié public int[] calcul(int a, b, String c)  le type du retour doit être spécifié public calcul(int a, int b, String c)  les arguments doivent être séparés par des, public int[] calcul(int a int b, String c) Line nn: Identifier expected Erreur

13 2013 - 2014Master SIGLIS13 Oublier que == compare les références et non les valeurs Résultat == compare les références equals compare le contenu des objets claude1 "Claude" claude2 "Claude" ici claude1 et claude2 référencent deux zones mémoires différentes mais qui contiennent la même valeur

14 2013 - 2014Master SIGLIS14 Oublier le(s) break dans un case Un case sans les break Résultat (cas où on a tiré un e) On a executé toutes les branches en dessous du cas 'e'

15 2013 - 2014Master SIGLIS15 Oublier void dans les méthodes qui ne retournent pas de résultat Erreur Line nn: Invalid method declaration; return type required

16 2013 - 2014Master SIGLIS16 Oublier un return dans une méthode Quand une méthode renvoie un résultat, elle doit contenir au moins un return. Erreur Line nn: Return required at end of xxxx Exemple

17 2013 - 2014Master SIGLIS17 Rendre un attribut privé et essayer d'y accéder depuis une autre classe Les attributs privés d'un objet sont inaccessibles depuis l'exterieur

18 la variable arg1 est inconnue en dehors du bloc où elle a été déclarée 2013 - 2014Master SIGLIS18 Une variable est inconnue en dehors du bloc où elle a été déclarée Solution Déclarer arg1 dans un bloc où elle sera visible partout L'erreur a disparu Exemple

19 2013 - 2014Master SIGLIS19 Déclarer un constructeur comme une méthode Un constructeur se reconnait :  il porte le même nom que la classe  Sa signature ne contient pas de type de retour

20 2013 - 2014Master SIGLIS20 Utiliser un double à la place d'un float  Toute constante numérique contenant un point est considérée comme un double  On ne peut affecter un double à un float à cause de la perte de précision  Si on veut le faire, il faut forcer le compilateur Solution  Soit on ajoute f derrière la constante pour exprimer qu'il s'agit d'un float  Soit un utilise un cast pour faire la conversion explicitement  c'est la même chose pour les long et les int  on utilise l pour les long ;  on utilise d pour les double ;

21 2013 - 2014Master SIGLIS21


Télécharger ppt "Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java."

Présentations similaires


Annonces Google