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 :

Je n'arrive pas à compiler ma classe


Sujet :

avec Java

  1. #21
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    L'erreur est dans cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("C'est un dinosaure"+sex+""+color+" ".");
    Une chaîne de caractères constante est exprimée par une suite de caractères qui commence et termine par des guillemets (caractère ") :

    • "C'est un dinausore" est une chaîne de caractères constante valide
    • "" est valide (c'est une chaîne vide)
    • "." est une chaine valide (un point)


    Mais dans ta ligne de code, il y a un guillemet qui se ballade, tout seul. Les guillemets fonctionnent toujours par paires. Là, le compilateur java ne sait plus trop quoi comprendre, où se trouve le début de la chaîne, où se trouve la fin, pourquoi il y a une chaîne qui ne se termine pas. D’où le fait qu'il te présente plein d'erreurs.

    Supprimes, au moins, le guillemet en trop (ici en rouge, et grossi) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("C'est un dinosaure"+sex+""+color+" ".");
    Corollaire : si tu as besoin de mettre un guillemet dans une chaîne, tu ne peux pas le faire directement, puisque le compilateur ne pourrait pas déterminer si c'est la fin de la chaîne ou si c'est un guillemet au milieu. Dans ce cas, on échappe le guillemet, en mettant \ devant.

    Par exemple, String s = "Ceci est un guillemet : \".";.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  2. #22
    Membre averti
    Homme Profil pro
    autonome
    Inscrit en
    Octobre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : autonome
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2013
    Messages : 35
    Par défaut
    une petite erreur qui reste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    C:\Program Files\Notepad++\Projet>javac dino.java
    dino.java:18: error: 'else' without 'if'
                            else
                            ^
    1 error
     
    C:\Program Files\Notepad++\Projet>
    code source

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    		void showAttributes(){
    			System.out.println("C'est un dinosaure"+sex+""+color+".");
    			if(hungry == true);
    				System.out.println("le dino a faim");
    			else 
    				System.out.println("il n'a pas faim");
    Si j'efface le ; apres if, il me donne encore plus d'erreur.

    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
    C:\Program Files\Notepad++\Projet>javac dino.java
    dino.java:18: error: 'else' without 'if'
                            else
                            ^
    1 error
     
    C:\Program Files\Notepad++\Projet>javac dino.java
    dino.java:7: error: cannot find symbol
                    if (hungry==true){
                        ^
      symbol:   variable hungry
      location: class Dinosaure
    dino.java:9: error: cannot find symbol
                            hungry=flase;
                            ^
      symbol:   variable hungry
      location: class Dinosaure
    dino.java:9: error: cannot find symbol
                            hungry=flase;
                                   ^
      symbol:   variable flase
      location: class Dinosaure
    dino.java:16: error: cannot find symbol
                            if(hungry == true)
                               ^
      symbol:   variable hungry
      location: class Dinosaure
    dino.java:26: error: cannot find symbol
                            j.hungry=true;
                             ^
      symbol:   variable hungry
      location: variable j of type Dinosaure
    dino.java:31: error: cannot find symbol
                            j.feedDinaosaure();
                             ^
      symbol:   method feedDinaosaure()
      location: variable j of type Dinosaure
    dino.java:32: error: package system does not exist
                            system.out.println("-----");
                                  ^
    7 errors
     
    C:\Program Files\Notepad++\Projet>

  3. #23
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Quand on écrit un if..else, on l'écrit comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (toto == true) {
      ...
    } else {
      ...
    }
    Si on veut écrire un if seul, on l'écrit comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (toto == true) {
      ...
    }
    Et si on veut écrire un if sans else et avec lequel le contenu ne prend qu'une ligne, on peut l'écrire comme ceci :

    Sachant qu'en lisant la suite, je vois que tu as pleins d'erreur de base là, entre autres :
    dino.java:7: error: cannot find symbol
    if (hungry==true){
    ^
    symbol: variable hungry
    Ta variable "hungry" n'a jamais été déclaré.

    hungry=flase;
    Cette valeur n'existe même pas. Si tu voulais déclarer un booléen, les valeurs possibles sont true et false.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dino.java:32: error: package system does not exist
                            system.out.println("-----");
    La syntaxe n'est pas correct, il est important de respecter la syntaxe et la casse en Java. Ainsi il faut écrire System.out.println("...");
    Dans tout les cas, tu devrais soit changer de bouquin si c'est lui qui te dit d'écrire comme ça. Soit lire un bon tutoriel pour commencer comme ce que tu peux trouver par ici : http://java.developpez.com/cours/

    Je pense que tu dois être plus attentif aux bases déjà et que écrire du code à travers un IDE te permettrait de voir toutes ces erreurs avant même l'exécution.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  4. #24
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    unclosed string literal
    Tu a mis un guillement de trop ou trop peu sur une string, comme tu peux d'ailleurs le voir à la coloration syntaxique de ton code qui part en couille après la string

  5. #25
    Membre averti
    Homme Profil pro
    autonome
    Inscrit en
    Octobre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : autonome
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2013
    Messages : 35
    Par défaut
    yo merci cela a fonctionné apres plusieurs erreures. Je me suis rendu compte qu'il faut faire attention a la facons dont on écrit notre code, la moindre petite erreur meme une majuscule et le code n'est pas reconnue, c pire qu'en cour de francais,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class Le Programmeur {
    	public static void main (String[] arguments) {
    		System.out.println ("Le Programmeur n'a pas droit a l'erreur");
    	}
    }

  6. #26
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par mtlqcca Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class Le Programmeur {
    ...
    }
    Cette classe ne compilera pas non plus : les espaces sont interdits dans les noms de classes (Idem pour les noms de variables, de méthodes...).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #27
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par mtlqcca Voir le message
    yo merci cela a fonctionné apres plusieurs erreures. Je me suis rendu compte qu'il faut faire attention a la facons dont on écrit notre code, la moindre petite erreur meme une majuscule et le code n'est pas reconnue, c pire qu'en cour de francais,
    C'est une machine derrière qui doit interpréter ce que tu écris. Donc oui si tu écris des choses approximatives, je ne vois pas comment elle pourrait s'y retrouver. Donc oui il faut respecter les règles de base (déjà 5 points en tête) :
    1. Les noms de classe commence par une majuscule
    2. Pas d'espace dans le nom de ta classe (s'il y a plusieurs mots, tu mets une majuscule à chacun, exemple : LaClasse.java)
    3. Le nom de ton fichier est identique au nom de ta classe
    4. Vérifier la cohérence de la visibilité de tes variables et méthodes (public, private ou autres)
    5. Tes noms de variables sont écris en minuscules sauf les constantes qui sont en majuscules
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. j'arrive pas à compiler mon code source java il me met l'erreur suivante
    Par safa baccouche dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 17/08/2009, 23h46
  2. [Débutant] Qt4 n'arrive pas à compiler
    Par hydrolyre dans le forum Qt
    Réponses: 11
    Dernier message: 24/04/2009, 18h55
  3. N'arrive pas à compiler mon fichier
    Par Séb@s dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 23/11/2006, 21h19
  4. Je n'arrive pas à compiler
    Par nicorider dans le forum Dev-C++
    Réponses: 3
    Dernier message: 15/11/2006, 18h07
  5. [JNI] FindClass n'arrive pas à trouver une classe
    Par Benoit_Aligon dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 04/07/2006, 16h40

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