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

Java Discussion :

Problème avec exercice Java


Sujet :

Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut Problème avec exercice Java
    Bonjour, j'ai un exercice en java à faire dont voici l'ennoncé : exercice n°2.1: une classe Counter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class Counter{
    private int count;
    public Counter(int val) {...}
    public Counter(){...}// compteur initialisé à 0
    public int getCount(){...}
    public void incrementer(){..}
    public void decrementer(){....}
    public void afficher(){....};
    public void reset(){....};
    }
    Travail à réaliser :
    1) Donnez le code Java de la classe Counter, avec un petit programme de test pour tester
    chacune des méthodes .


    Pour le moment, voila ce que j'ai réussit à faire :
    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
    public class Counter{
    	private int count;
    	public Counter(int val){
    		count = val;
    		}
     
    	public Counter(){
    		count = 0;
    		}//compteur initialise a 0
     
    	public int getCount(){
    		return count;
    		}
     
    	public void incrementer(){
    		count += val;
    		}
     
    	public void decrementer(){
    		count -= val;
    		}
     
    	public void afficher(){
    		system.out.println("le compteur affiche");
    		}
     
    	public void reset(){
    		count = 0;}
    }
    Mais j'ai pas mal d'erreurs et je ne voit pas d'ou elles viennent, voici ces erreurs :
    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
     
    exo21.java:1: class Counter is public, should be declared in a file named Counter.java
    public class Counter{
           ^
    exo21.java:16: cannot find symbol
    symbol  : variable val
    location: class Counter
    		count += val;
    		         ^
    exo21.java:16: operator + cannot be applied to int,val
    		count += val;
    		      ^
    exo21.java:20: cannot find symbol
    symbol  : variable val
    location: class Counter
    		count -= val;
    		         ^
    exo21.java:24: package system does not exist
    		system.out.println("le compteur affiche");
    		      ^
    5 errors

    Si quelqu'un pourrai m'aider merci bcp.

  2. #2
    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 lilp1 Voir le message
    exo21.java:1: class Counter is public, should be declared in a file named Counter.java
    Ton fichier ne s'appelle pas Counter.java.

    Citation Envoyé par lilp1 Voir le message
    public class Counter{
    ^
    exo21.java:16: cannot find symbol
    symbol : variable val
    Ta variable val n'est pas une variable de classe.

    Citation Envoyé par lilp1 Voir le message
    exo21.java:16: operator + cannot be applied to int,val
    count += val;
    ^
    Ta variable val n'est pas une variable de classe. [2] Il te faut un paramètre val à ta fonction.

    Citation Envoyé par lilp1 Voir le message
    exo21.java:20: cannot find symbol
    symbol : variable val
    location: class Counter
    count -= val;
    ^
    Ta variable val n'est pas une variable de classe. [3] Il te faut un paramètre val à ta fonction.

    Citation Envoyé par lilp1 Voir le message
    exo21.java:24: package system does not exist
    system.out.println("le compteur affiche");
    system n'existe pas mais System si.

    PS : Il me semble que tu n'ais pas compris toutes les bases du Java, n'hésites pas à te replonger dans la lecture de tutos pour bien saisir la notion de variable locale/variable de classe, notion de package, notion de classe, ..
    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/

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut
    Tu entends quoi par il te faut un paramètre à ta fonction?

  4. #4
    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 lilp1 Voir le message
    Tu entends quoi par il te faut un paramètre à ta fonction?
    Cas concret :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void incrementer(){
      count += val;
    }
    Où vas tu chercher la valeur de la variable val ? Elle n'existe pas dans ce contexte. Elle n'est pas variable de classe, ni variable locale. Je suppose donc que tu dois faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void incrementer(int val){
      count += val;
    }
    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/

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut
    Effectivement, merci, je n'ai plus d'erreur lors de la compilation, mais quand je veut exécuter le pgr, j'ai le message suivant : Exception in thread "main" java.lang.NoSuchMethodError: main
    De plus, je viens de rajouter la partie suivante pour tester l'execution :
    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
    public class TestCounter{
     
    	public static void main(String [] args){
     
    		Counter val1 = new Counter();
     
    		Counter val2 = new Counter(1);
     
    		Counter val3 = new Counter(val2.get.Count());
     
    		val2.afficher();
     
    		val2.incrementer();
     
    		val2.afficher();
     
    		val2.decrementer();
     
    		val2.afficher();
     
    		val2.reset();
     
    		System.out.println(val3);
     
    	}
    }
    Mais j'ai les messages suivants :

    Counter.java:59: class, interface, or enum expected
    }
    ^
    TestCounter.java:9: cannot find symbol
    symbol : variable get
    location: class Counter
    Counter val3 = new Counter(val2.get.Count());
    ^
    TestCounter.java:13: incrementer(int) in Counter cannot be applied to ()
    val2.incrementer();
    ^
    TestCounter.java:17: decrementer(int) in Counter cannot be applied to ()
    val2.decrementer();
    ^
    4 errors

  6. #6
    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 lilp1 Voir le message
    Mais j'ai les messages suivants :

    Counter.java:32: class TestCounter is public, should be declared in a file named TestCounter.java
    public class TestCounter{
    ^
    Counter.java:40: cannot find symbol
    symbol : variable get
    location: class Counter
    Counter val3 = new Counter(val2.get.Count());
    ^
    Counter.java:44: incrementer(int) in Counter cannot be applied to ()
    val2.incrementer();
    ^
    Counter.java:48: decrementer(int) in Counter cannot be applied to ()
    val2.decrementer();
    ^
    4 errors
    Désolé mais je ne vais pas me mettre à déboguer chacune de tes mauvaises manipulations, les traces d'erreur sont assez explicites.

    Je me répète donc :
    Citation Envoyé par Moi-même
    PS : Il me semble que tu n'ais pas compris toutes les bases du Java, n'hésites pas à te replonger dans la lecture de tutos pour bien saisir la notion de variable locale/variable de classe, notion de package, notion de classe, ..
    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/

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Les messages d'erreur sont assez explicite. Il mentionnent la ligne en erreur, la cause de l'erreur.

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

Discussions similaires

  1. Problème avec le Java heap space
    Par Viscapon dans le forum JSF
    Réponses: 5
    Dernier message: 18/05/2009, 17h42
  2. Problème avec NamingContext.java:1448
    Par bga_O dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 27/04/2009, 14h43
  3. Problème avec Spring : java.io.FileNotFoundException
    Par lionel84 dans le forum Spring
    Réponses: 6
    Dernier message: 29/08/2008, 09h59
  4. problème avec les .java compilés
    Par root76 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 05/05/2006, 19h14
  5. [c++] second problème avec exercices du livre Big c++
    Par TERRIBLE dans le forum Contribuez
    Réponses: 6
    Dernier message: 06/11/2005, 21h07

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