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

AWT/Swing Java Discussion :

Réalisation d'un chronomêtre


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut Réalisation d'un chronomêtre
    Bonsoir tout le monde

    je suis en trein de réaliser plusieurs tri.

    je dois chronomêtrer chaque tri et faire un graphique sur exel.

    Pour voir le quel est le plus rapide.



    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    import java.awt.*;
    import java.awt.event.ActionEvent; 
    import java.awt.event.ActionListener; 
    import javax.swing.Timer;
    
    public class Triinssertion
    {
    public static void main(String[] args)
    {
    String name;
    float tmp=0;
    int [] tab = new int [10];
    int j,i,k,a,b,mem,longueur;
    
    System.out.println("Entrer votre prenom");
    name=Lire.S();
    System.out.println();
    System.out.println("Bienvenue sur le programme tri par insertion " + name);
    System.out.println();
    System.out.println("Entrer 10 entiers dans le désordre");
    System.out.println();
    for(a=0;a<tab.length;a++)
    {
    System.out.println("entier " + (a+1));
    tab[a]=Lire.i();
    }
    System.out.println();
    System.out.println("Voici l'ordre des entiers que vous avez donnees ");
    System.out.println();
    for(b=0;b<tab.length;b++)
    {
    System.out.print(tab[b] + " ");
    }
    System.out.println();
     
     
    longueur=tab.length;
    star(); // démarage du tri
     for(j=1;j<longueur;j++)
      {
      mem = tab[j];
      
      i=j-1;
      
      do{
      tab[i+1]=tab[i];
      
      i=-1;
      }while(mem<tab[i]);
      tab[i]=mem; 
     
     
    
    }
    stop();//fin du tri
    System.out.println();
    System.out.println("Affichage fait apres le tri");
    System.out.println();
    for(b=0;b<tab.length;b++)
    {
    System.out.print(tab[b] + " ");
    }
    System.out.println();
    System.out.println();
     
    
    System.out.println();
    System.out.println("Le tri à mis " + tmp + " de temps en seconde de tris" );
    System.out.println();
    System.out.println("Tri par insertion terminé " + name);
     
    
    }
    public void star()
    {
     
     
    
    }
    
    public void stop()
    {
    
    }
    public int chrono(int delai,int dep)
    {
    delai=1;
    dep=0;
    
    for()
    {
    dep=delai;
    
    }
    return(0);
    }
    
    public void actionPerformed(ActionEvent e) 
    {
     
     
    }
    }
    Mon probleme est que je n'arrive pas à réaliser le chronomêtre.

    j'ai télécharger l'exemple de Johann Heymes mai élace, j'ai du mal à comprendre le code tout est sans dessus de sous.

    Merci

    Cordialement

    A bientôt

  2. #2
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Tu peux simplement utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.nanoTime();
    avant et après l'exécution de tes tris et faire la différence...

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonjour tout le monde

    En utilisant cette methode, comment afficher le temps de tris.

    j'ai créé un entier tmp pour afficher le temps de tri.


    Merci

    Cordialement

    A bientôt

  4. #4
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,

    Pour mesurer un delai, il suffit d'avoir la différence entre deux heures t1: heure de départ, t2: heure de d'arrivée donc le délai est égal à heure d'arrivée moins heure de départ (t2-t1).

    Il suffit d'ajouter une variable pour mémoriser l'heure de départ.

    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
     
    public static void main(String[] args)
    {
    String name;
    //float tmp=0;
    long startTime;
    long tmp= 0L; /* Différence en nanoseconde */
     
    ....
     
    public void star() {
      startTime = System.nanoTime();
    }
     
    public void stop() {
      tmp = System.nanoTime() - startTime;
    }

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Re

    Voici les code pour démarer et arreter le compteur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public void star(long startTime) {
      startTime = System.nanoTime();
    }
     
    public void stop(long startTime,long tmp) {
      tmp = System.nanoTime() - startTime;
    }
    Voici ci-dessous le code pour le calcul du temps de tri.

    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
     
    star(); 
     for(j=1;j<longueur;j++)
      {
      mem = tab[j];
     
      i=j-1;
     
      while(mem<tab[i]){
      tab[i+1]=tab[i];
     
      i-=1;
      }
      tab[i]=mem; 
     
    }
    stop();
    Voici l'erreur.

    Triinssertion.java:65: star(long) in Triinssertion cannot be applied to ()
    star();
    ^
    Triinssertion.java:92: stop(long,long) in Triinssertion cannot be applied to ()
    stop();
    ^
    2 errors
    Je pense que l'erreur vient de la déclaration des variables entre les parenthense des fonctions.

    A+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 115
    Par défaut peut pas fonctionner
    heu...
    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
     
    public static void main(String[] args)
    {
    String name;
    //float tmp=0;
    long startTime;
    long tmp= 0L; /* Différence en nanoseconde */
     
    ....
     
    public void star() {
      startTime = System.nanoTime();
    }
     
    public void stop() {
      tmp = System.nanoTime() - startTime;
    }
    déjà les méthodes start et stop ne peuvent avoir accès à la variable startTime puisque celle-ci est déclarée dans la méthode main


    Pour en revenir à ton erreur, le compilateur t'indique que tes méthodes star et stop n'existent pas sans paramètres "()". En effet, les méthodes prennent des paramètres...



    Voila essaie déja de corriger les appels aux méthodes...



    a+++ omlip




Discussions similaires

  1. réalisation d'un chronométre dans le programme
    Par masterix59 dans le forum C
    Réponses: 11
    Dernier message: 30/12/2006, 18h19
  2. Réaliser un chronomètre
    Par merlubreizh dans le forum C++
    Réponses: 7
    Dernier message: 11/01/2006, 10h16
  3. Réalisation d'un chronomètre.
    Par urbanspike dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/11/2005, 10h28
  4. Réaliser un chronomètre
    Par urbanspike dans le forum Langage
    Réponses: 1
    Dernier message: 27/11/2005, 12h24
  5. Comment réaliser un chronomètre ?
    Par theprimitive dans le forum Langage
    Réponses: 18
    Dernier message: 25/10/2005, 08h59

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