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 :

Comment arrêter un compteur dans une class TimerCounter


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de tarpal
    Homme Profil pro
    Ingénieur Electronique retraité
    Inscrit en
    Février 2016
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Electronique retraité
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 70
    Par défaut Comment arrêter un compteur dans une class TimerCounter
    Bonjour à tous,
    J'ai réalisé un petit compteur et je ne trouve pas l'instruction pour l'arrêter.
    Je souhaite l'arrêter à la ligne 16 de mon programme.
    Je vous soumets mon code :
    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
    package horloge;
     
    public class TimerCounter 
    {
    	static Thread thread = new Thread();
    	public static void main(String[] args) throws InterruptedException
    	{
    		int i=0;
    		for ( i = 0;i>=0;i++)
    		{
    			thread.sleep(1000);;
    			System.out.println(i);
            	{
    			if (i==3)	
            	System.out.println ("C'est fini");
                // ICI je voudrais arrêter le compteur.
            	}	
    		 }
         }
    }
    Merci pour votre aide
    A+

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    break; pour sortir d'une boucle, ou return; pour sortir carrément d'une méthode.

    Je constate que tu crée un objet Thread mais que tu ne l'utilises pas.

    Je constate aussi que tu appelles thread.sleep(); C'est une notation qui prête à confusion. La méthode sleep() est une méthode de classe, et il vaut mieux l'appeler avec Thread.sleep(), grand T, le nom de la classe, plutôt qu'avec le nom d'une instance qui est parfaitement inutile et qui sera ignorée.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé Avatar de tarpal
    Homme Profil pro
    Ingénieur Electronique retraité
    Inscrit en
    Février 2016
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Electronique retraité
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 70
    Par défaut
    Merci @ thelvin @ pour tes 3 réponses
    il vaut mieux l'appeler avec Thread.sleep(), grand T
    J'ai pris ce bout de logiciel sur le net, et je n'ai pas fait attention...

    break; pour sortir d'une boucle
    Merci pour la précision

    ou return; pour sortir carrément d'une méthode.
    C'est noté.
    Quand je travaillais avec Code:Block sur C++ j'utilisais return à tout bout de champs.
    Depuis que je code du java, je ne l'ai jamais fait.
    Pourtant beaucoup de mes codes tournent bien : est-ce que cela veux dire que mes méthodes restent ouvertes une fois qu'elle ont été utilisées ?
    Est-ce que je dois m'obliger à utiliser cette instruction systématiquement ?
    Je dois bien mettre le même code qu'en C++
    return 0 ;
    Je souhaite progresser en java et c'est pourquoi je pose toutes ces questions
    Après un essais voilà ma conclusion
    Il ne faut pas coder return 0; car j'ai une erreur
    Par contre le code return; ( sans int=0) fonctionne bien
    Puis-je avoir une explication ?

    Merci pour ton suivi
    A+

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par tarpal Voir le message
    est-ce que cela veux dire que mes méthodes restent ouvertes une fois qu'elle ont été utilisées ?
    Est-ce que je dois m'obliger à utiliser cette instruction systématiquement ?
    Non. Une méthode se termine, soit quand on arrive à la fin (à sa dernière instruction,) soit quand on tombe sur une instruction return;.
    L'un ou l'autre, peu importe.

    Enfin, ça c'est pour les méthodes void. Une méthode non-void doit forcément s'arrêter sur une instruction return, sinon on ne peut pas savoir ce qu'elle renvoie, et ça ne compilera pas.

    Citation Envoyé par tarpal Voir le message
    Il ne faut pas coder return 0; car j'ai une erreur
    Par contre le code return; ( sans int=0) fonctionne bien
    Puis-je avoir une explication ?
    return 0; signifie que l'exécution de ta méthode renvoie la valeur 0.
    Ta méthode est void, ce qui signifie qu'elle ne renvoie pas de valeur. Donc elle ne peut pas renvoyer la valeur 0. Ni aucune autre d'ailleurs. C'est return; sans rien derrière.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé Avatar de tarpal
    Homme Profil pro
    Ingénieur Electronique retraité
    Inscrit en
    Février 2016
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Electronique retraité
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 70
    Par défaut
    Rebonjour
    Sans vouloir abuser, une ultime question.
    Pour une méthode non-void, si je met return 0; je retourne donc 0
    Je pourrais tout aussi bien mettre return valeur; suivant ce que je veux comme résultat.
    Mais alors où puis-je récupérer valeur pour pouvoir la traiter ultérieurement ?
    A+

  6. #6
    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 : 46
    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
    Pour récupérer la valeur d'un fonction, il suffit de l'utiliser comme opérante droite d'une instruction. Exemple:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int monMax = Math.max(1,2); // récupère le résultat de la fonction max(int,int)
    String message = maFonction(a,b,c)

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

Discussions similaires

  1. Comment afficher un compteur dans une boucle .
    Par HASSIOMAR dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/06/2014, 11h18
  2. Comment intégrer du JSF dans une class java(swing)
    Par Jaafar_scorpion dans le forum JSF
    Réponses: 0
    Dernier message: 25/05/2013, 02h43
  3. [JUnit] comment écrire des test dans une classe DAO
    Par nouramin dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 23/04/2010, 11h05
  4. Comment mettre ce code dans une classe ?
    Par oranocha dans le forum Langage
    Réponses: 2
    Dernier message: 16/07/2008, 14h51
  5. Comment définir un tableau dans une classe?
    Par Pragmateek dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 30/04/2006, 20h34

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