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 :

class, interface, or enum expected


Sujet :

avec Java

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 165
    Points : 76
    Points
    76
    Par défaut class, interface, or enum expected
    Bonjour tout le monde

    Je suis débutant en java, j'ai un problème avec un exercice dont voici l'énoncé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Exercice 8 : Ecrire le programme suivant : (on pourra faire usage
    de la copie de fichier et/ou de copier-coller pour gagner du temps).
    – un programme Ordre.java qui écrit les entiers de 1 `a 100 dans l’ordre croissant à l’écran.
    J'ai écrit une classe Ordre.Java compilée avec succès dont voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Ordre
    {
    	static int i ;
    	public static void afficheCroissant()
    	{
    	for (i=100 ; i==0 ; i--)
    	 {
    	  System.out.println("Voici le chiffre :" + i);
    	 }
    	}
     
    }
    Et voici la classe exe.java contenant la méthode main :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static void main(String[] args)
    {	
    	//Ordre A ;
    	//B = new Ordre;
    	afficheCroissant();
    }
    Lors de la compilation de la classe exe.java j'obtient ce message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     objet\atelier\test(to be deleted)>javac exe.java
    exe.java:1: class, interface, or enum expected
    public static void main(String[] args)
                  ^
    exe.java:6: class, interface, or enum expected
    }
    ^
    2 errors
    Pouvez m'expliquer d'où viendrait l'erreur et comment y remédier, par ailleurs est ce que ma façon de procéder est correcte ?
    Merci d'avance

  2. #2
    Membre averti
    Avatar de DaveShot
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 238
    Points : 384
    Points
    384
    Par défaut
    Bonjour,
    comment fais-tu pour faire appel à afficheCroissant() depuis ta classe Test.java.
    En modifiant cette classe, cela fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public static void main(String[] args){	
    		//Ordre A ;
    		//B = new Ordre;
    		Ordre.afficheCroissant();
    }
    du fait que la méthode soit static.

    David.
    - N'hésitez pas à consulter les liens vers les FAQs, les cours et tutoriels -

    Daveshot

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 165
    Points : 76
    Points
    76
    Par défaut
    Merci pour ta réponse, apparemment le problème persiste .
    NB : j'ai corrigé le poste initiale, le code n'était pas le bon.

  4. #4
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Ton fichier compilé (test.class) n'est pas dans ton classpath.

    Quelques infos sur le sujet dans la FAQ

    De plus, l'ordre croissant, c'est de 1 à 100, là tu affiche les nombres en ordre décroissant

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 165
    Points : 76
    Points
    76
    Par défaut
    Merci pour vos réponses, je viens de corriger l'erreur, le fichier concerné (contentant la main) est nommé exe.java se trouvant dans le même dossier.

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par abdelilah Voir le message

    Lors de la compilation de la classe exe.java j'obtient ce message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     objet\atelier\test(to be deleted)>javac exe.java
    exe.java:1: class, interface, or enum expected
    public static void main(String[] args)
                  ^
    exe.java:6: class, interface, or enum expected
    }
    ^
    2 errors
    Tout fichier java doit contenir soit une classe, soit une interface soit une enum. Dans ton cas tu a mis une methode en dehors de tout, d'où le message d'erreur. Ta méthode main doit se trouver dans une classe.

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 165
    Points : 76
    Points
    76
    Par défaut
    Merci pour ta réponse, le fichier se compile mais il n'affiche rien en fin de compte.

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i=100 ; i==0 ; i--)
    Cette boucle tu rentrera jamais dedans. tu dis
    pour un i initial de 100, tant que i vaut 0 décroitre i.

    Non seulement ta condition de sorit se déclenche donc tout de suiste (100 n'est pas égal à 0), mais en plus tu va dans l'ordre décroissant (l'intitulé de l'exercice demande le contraire).


    Pour rappel, une boucle for a la forme suivante

    for (<code d'initialisation>; <condition de fin de boucle>; <code de fin d'itération>)

  9. #9
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 165
    Points : 76
    Points
    76
    Par défaut
    Merci tout le monde j'ai compris le principe (la précipitation est mauvaise conseillère).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur "class, interface or enum expected" pour une méthode main
    Par francky74 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 28/01/2014, 21h20
  2. class, interface, or enum expected
    Par lotfi-g dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 27/09/2010, 17h08
  3. erreur:class,interface,or enum expected
    Par siham-gh dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 25/12/2009, 19h41
  4. [preferences] nommage class, interface, enum
    Par visiwi dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 29/08/2008, 15h19
  5. [Language][POO]classe interface
    Par Samanta dans le forum Langage
    Réponses: 9
    Dernier message: 21/06/2005, 15h32

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