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 :

compte à rebours d'attente


Sujet :

Java

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Par défaut compte à rebours d'attente
    bonjour a tous et toutes. je débute en java et je voulais savoir comment faire un compte à rebours d'attente utilisable par plusieurs personnes. J'ai fait ce bout de code (bien sur ce n'est peut être pas parfais)...

    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
    import java.util.concurrent.ScheduledFuture;
    import java.util.concurrent.ScheduledThreadPoolExecutor;
    import java.util.concurrent.TimeUnit;
     
     
    public class Task {
    	private static ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(0);
    	private static ScheduledFuture<?> run;
    	private static long time = System.currentTimeMillis();
     
    	public static void main(String args[]) {    	
    		userRunning("User A", time);
    	}
     
    	public static void userRunning(String user, long currentTimeMillis) {		
    		System.out.println(user + " est en Attente");
    		run = executor.scheduleAtFixedRate(() -> {	
    			long setStartTime = (currentTimeMillis + 5000);    
    			long remainingTime = (long) ((setStartTime - System.currentTimeMillis()) / 1000.0);
     
    			if (setStartTime > System.currentTimeMillis()) {
    			    	System.out.println((remainingTime%60) + " second(s).!");
    			} else {
    			    System.out.println("Ok Attente Finis");
    			    run.cancel(false);
    			}			
    		}, 0, 1000, TimeUnit.MILLISECONDS);
    	}
    }
    Comment je peut faire, pour que userRunning(String user, long currentTimeMillis) sois indépendant à chaque utilisation. on m'a parler de :
    "crées un objet et de crées une nouvelle instance de cette objet à chaque fois qu'un user est mise en attente
    mais je ne vois ce que cette personne a voulu dire (désolé encore je débute certaine notion m'échappe encore)

    merci d'avance pour votre aide et j'espère avoir été clair et précis dans ma demande.

    Cordialement

  2. #2
    Modérateur

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

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

    on ne peut pas deviner à quoi tu penses. Il faut des exemples.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Par défaut
    Citation Envoyé par akira_87 Voir le message
    bonjour a tous et toutes. je débute en java et je voulais savoir comment faire un compte à rebours d'attente utilisable par plusieurs personnes. J'ai fait ce bout de code (bien sur ce n'est peut être pas parfais)...

    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
    import java.util.concurrent.ScheduledFuture;
    import java.util.concurrent.ScheduledThreadPoolExecutor;
    import java.util.concurrent.TimeUnit;
     
     
    public class Task {
    	private static ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(0);
    	private static ScheduledFuture<?> run;
    	private static long time = System.currentTimeMillis();
     
    	public static void main(String args[]) {    	
    		userRunning("User A", time);
    	}
     
    	public static void userRunning(String user, long currentTimeMillis) {		
    		System.out.println(user + " est en Attente");
    		run = executor.scheduleAtFixedRate(() -> {	
    			long setStartTime = (currentTimeMillis + 5000);    
    			long remainingTime = (long) ((setStartTime - System.currentTimeMillis()) / 1000.0);
     
    			if (setStartTime > System.currentTimeMillis()) {
    			    	System.out.println((remainingTime%60) + " second(s).!");
    			} else {
    			    System.out.println("Ok Attente Finis");
    			    run.cancel(false);
    			}			
    		}, 0, 1000, TimeUnit.MILLISECONDS);
    	}
    }
    Comment je peut faire, pour que userRunning(String user, long currentTimeMillis) sois indépendant à chaque utilisation. on m'a parler de :


    mais je ne vois ce que cette personne a voulu dire (désolé encore je débute certaine notion m'échappe encore)

    merci d'avance pour votre aide et j'espère avoir été clair et précis dans ma demande.

    Cordialement

    bonjour oui désolé j'ai trouvé la où était mon 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
     
        public static void userRunning(String user, long currentTimeMillis) {
            Timer timer = new Timer();
     
            TimerTask task = new TimerTask() {
    	        // run() method to carry out the action o the task
    	        public void run() {
    	            	// mes condition if/else
    	            	// cancel method to cancel the execution
    	    		timer.cancel();
    	        }; 	
            };
     
    	/* schedule() method to schedule the execution with start time */    
            timer.schedule(task, 0, 1000);
        }

Discussions similaires

  1. [timer] Compte à rebours pour redirection !
    Par Raideman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2005, 20h07
  2. Compte à rebours
    Par Anduriel dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 29/12/2005, 20h12
  3. compte à rebours
    Par Datord dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 17/11/2005, 21h22
  4. compte à rebours
    Par etoile1506 dans le forum C
    Réponses: 10
    Dernier message: 27/10/2005, 15h20
  5. Compte à rebours trop rapide
    Par Anduriel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2005, 20h57

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