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 :

Réaliser un histogramme


Sujet :

avec Java

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

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Réaliser un histogramme
    Bonjour,

    je suis un vrai débutant en java et je me suis lancé dans l'écriture d'un code java qui permet de faire des traitements de données statistiques.
    En il permet de récupérer des valeurs entrées au claviers et de faire un certains nombre de traitements comme le calcul du minimun, du maximun, de la voyenne moyenne et de l'écart type par exemple.
    Mon problème de réaliser un histogramme.

    voici une bref description :
    Une méthode demandera à l’utilisateur le nombre de niveaux souhaités (nombre inférieur à SIZE_MAX) et fera appel à une autre méthode qui calculera l’histogramme. Exemple :
    Le tableau contient des données entre min=2 et max=12 ; l’utilisateur souhaite 4 niveaux. On découpe 4 intervalles réguliers : [2..4], [5..7], [8..10], [11..12] et on calcule la fréquence d’apparition (exprimé en pourcentage).je me propose pour l'instant avant de parfaire mon code après d' afficher mon histogramme en positionnant des symboles * (un symbole pour x%, x à définir automatiquement). Exemple :
    2..4 **
    5..7 ******
    8..10 *********
    11..12 ***

    Voilà le code que j'ai déjà écrire :
    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
    /*
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    */
     
    package javaapplication1;
     
    /**
    *
    * @author arn
    */
    import java.util.Scanner;
    public class Statistics {
     
    final int ARRAY_LEN = 5; // nombre max d'éléments du tableau
    int [] numbers = new int[ARRAY_LEN];
     
    // remplit le tableau avec des valeurs saisies à la console
    private void fillArray() {
    Scanner scanner = new Scanner(System.in);
    for (int i = 0; i < ARRAY_LEN; i++) {
    numbers[i] = scanner.nextInt();
    }
    scanner.close();
    }
     
    // affiche le contenu du tableau à la console
    public void displayArray() {
    for (int i = 0; i < ARRAY_LEN; i++) {
    System.out.print(numbers[i] + ", ");
    }
    System.out.println();
    }
    // calcul la valeur maximale
    private int getMaxValue() {
    int temp = numbers[0];
    for (int i = 1; i < ARRAY_LEN; i++) {
    if (temp < numbers[i]) {
    temp = numbers[i];
    }
    }
    return temp;
    }
    // calcul la valeur minimale
    public int getMinValue() {
    int temp = numbers[0];
    for (int i = 1; i < ARRAY_LEN; i++) {
    if (temp > numbers[i]) {
    temp = numbers[i];
    }
     
    }
    return temp;
    }
     
    // calcul la valeur moyenne
    public float getMoy() {
    float sum=0;
    for(int i=0;i<ARRAY_LEN;i++){
    sum+=numbers[i];
    }
    return sum/ARRAY_LEN;
    }
    // calcul l'écart type
    public float getecartype(){
    float exm=0.0f;
    float moyenne=getMoy();
    for(int i=1;i<ARRAY_LEN;i++){
    exm+=(numbers[i]-moyenne)*(numbers[i]-moyenne);
    }
    return (float)Math.sqrt((double)(exm/ARRAY_LEN));
    }
     
    // pour l'histogramme
    // public void histogramme(int tab[],int tailleEffective,int retab,int [] nbNiveau, int [] borneNiveau){
    // int i=0;
    // int j=0;
    / / int nbNiveau[10];
    // while(tab[i]>borneNiveau[j]){
    // j++;
    // frequence[j]++;
    // }
    // }
     
    // affichage de l'histogramme l'histogramme
    //
     
    public static void main(String[] args) {
    Statistics stats = new Statistics();
     
    System.out.print("Tableau avant la saisie: ");
    stats.displayArray();
     
    stats.fillArray();
     
    System.out.print("Tableau après la saisie: ");
    stats.displayArray();
     
    System.out.print("Tableau après le calcul: ");
    stats.displayArray();
    System.out.println("Valeur maximale est: " + stats.getMaxValue());
    System.out.println("Valeur minimale est: " + stats.getMinValue());
    System.out.println("Valeur moyenne est: " + stats.getMoy());
    System.out.println("l'écart-type est: " + stats.getecartype());

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur P.O.O. et web
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Développeur P.O.O. et web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    tu connais la class "Graphics", elle te permettra de dessiner dans un panneau de la classe JPanel, puis tu mets le panneau dans une fenetre JFrame ou tu l affiche directement dans un applet

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

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Non je ne connais pas en tant que tel mais par contre je l'avoir rapidement lu dans un boukin de java de claude delannoy la class "Graphics".moi je pensais pour l'instant afficher juste avec les niveau de l'histogramme en mode console avec des *.
    En c'est la méthode histogramme que j'ai écri qui ne fonctionne pas encore bien et je souhaiterais avoir quelques des propositions d'idées.

    merci bien

Discussions similaires

  1. [Artichow] Réaliser un histogramme
    Par guigui69 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 21/01/2009, 17h54
  2. Réponses: 1
    Dernier message: 06/11/2007, 21h31
  3. réaliser un histogramme
    Par amiine dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/02/2007, 13h16
  4. Réponses: 1
    Dernier message: 01/10/2006, 15h44
  5. Réponses: 6
    Dernier message: 04/01/2006, 11h52

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