Partage
  • Partager sur Facebook
  • Partager sur Twitter

Le timer

Sujet résolu
    16 janvier 2011 à 23:58:42

    Bonsoir tous le monde,j'ai un problème au niveau de mon code c'est à dire que je dois afficher un message pendant un laps de temps précis 8 secondes et passer ce laps de temps le message ne doit plus être visible.Pour ce faire j'ai donc utiliser un timer,le code que j'ai insérer marche mais ne donne pas le résultat voulue car il affiche mon message en continue toute les 8 secondes.C'est pourquoi je vous demande votre aide voici mon code.

    Citation

    import java.util.Scanner;
    import java.util.Timer;
    import java.util.TimerTask;
    import java.util.Date;
    import java.util.*;
    import java.awt.*;


    public class projet
    {

    public static void main (String[] args) {
    System.out.println("Niveau 1 veuillez tapez le nombre qui est affiché.");

    Timer timer = new Timer();
    timer.schedule (new TimerTask() {

    public void run()
    {
    int a = 1030;/*initialisation de la variable dans le run*/
    Scanner in = new Scanner(System.in);

    System.out.println ( + a);
    }
    }, 0, 8000);



    }

    }

    • Partager sur Facebook
    • Partager sur Twitter
      17 janvier 2011 à 2:52:36

      Bonjour
      T'es obligé d'utiliser un timer?
      Je maitrise pas trop les timer :p

      Parcontre tu peut utilisé un compteur, regarde ce que j'ai fait et dis moi ce que t'en penses!!

      Je propose a l'utilisateur de taper un nombre, ensuite je recupere ce nombre et je l'affiche toutes les secondes pendant 8 secondes!
      Au bout de 8 secondes ça s'arrete !!

      J'ai également écrit dans la console les secondes, si tu veux plus les voir tu les met en commentaires comme fait ci dessous!
      // System.out.println (compteur);


      import java.util.*;
      
      
      public class Projet{
      	
      
      public static void main (String[] args) {
      
      System.out.println("Niveau 1 veuillez tapez un nombre.");
      
      int a = 1030;
      System.out.println (a);
      
      Scanner sd = new Scanner(System.in);
      int nombre= sd.nextInt();
      int compteur = 0 ;
      
        while (compteur < 8){
      	 compteur++;
      	 System.out.println (compteur);
           System.out.println("vous avez saisi : " +nombre);
           
           try {
      	       Thread.sleep(1000);
      	 } catch (InterruptedException e) {
      	  // TODO Auto-generated catch block
      	    e.printStackTrace();
      	 }
           }
        }
      }
      


      Je sais pas si c'est ça que tu voulais ??
      • Partager sur Facebook
      • Partager sur Twitter
        17 janvier 2011 à 16:53:53

        Merci,je vais compiler sa et je te tiens au courant.
        J'ai tester ton programme il est intéressant et pourra pour la suite de mon projet m'être utile,mais il répond pas vraiment à ce que je voulais.En faite je dois créer un jeux de mémoire,il s'avère que j'ai presque fini le projet en question.La ou je bloque c'est au niveau de l'affichage de mon message.comme c'est un jeux de mémoire il est impératif que j'affiche mon message pendant quelque secondes.exemple "Vous allez devoir tapez le nombre afficher "8895412" l'utilisateur devra mémoriser ce message jusqu'a qu'il disparaisse puis le taper.
        Si vous avez un moyens d'afficher un message pendant un laps de temps prédéfinis quelque soit le moyen sa me va.

        • Partager sur Facebook
        • Partager sur Twitter
          17 janvier 2011 à 23:19:31

          J'ai compris!
          Je t'ai bidouillé un petit truc!

          Le nombre s'affiche pendant 8 secondes et ensuite il disparait, On le voit plus!
          Et on demande à l'utilisateur de réécrire le nombre, s'il est bon on le félicite, et s'il est mauvais on le laisse un autre message !!

          import java.util.Scanner;
          
          
          public class MemoProjet{
          	
          
          public static void main (String[] args) {
          
          System.out.println("Regardez bien ce nombre et memorisez le");
          
          int a = 8855478;
          System.out.println (a);
          int compteur = 0 ;
          while (compteur < 1){
          	 compteur++;
             
              try {
          	       Thread.sleep(8000);
          	 } catch (InterruptedException e) {
          	  // TODO Auto-generated catch block
          	    e.printStackTrace();
          	 }
          }
          
          if (compteur > 0){
          	 for(int i=0;i<27;i++)
          	 System.out.println("" );
          	 System.out.println("tapez a nouveau le  nombre:");
          
              }
          Scanner sd = new Scanner(System.in);
          int nombre= sd.nextInt();
          System.out.println("vous avez saisi " +nombre+ " le nombre était " +a);
          
          if (nombre == a){
          	System.out.println("Bravo le chiffre est bon!");
          }else{
          	System.out.println("Dommage vous avez eu un petit trou de mémoire");
          }
            
          	 
          	
          	 
            }
            }
          


          Je pense que c'est bien ça que tu voulais !!
          Mais en fait si on regarde bien le code et la console, le nombre ne disparait pas vraiment, mais le principal c'est qu'on le voit plus?
          • Partager sur Facebook
          • Partager sur Twitter
            18 janvier 2011 à 12:39:11

            Merci en gros c'est sa que je voulais.
            • Partager sur Facebook
            • Partager sur Twitter

            Le timer

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown