Probleme en Java
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Probleme en Java



  1. #1
    Slahwen

    Probleme en Java


    ------

    Salut !
    J'ai un exercice à faire en Java mais je n'arrive pas à compiler mon code car il y a une erreur mais je ne la trouve pas !

    Voici l'énoncé :

    poste : tableaux des caractères avec les valeurs ‘P’, ‘P’, ‘O’, ‘A’, ‘P’, ‘A’, ‘P’, ‘P’
    ( ‘A’ pour analyste, ‘P’ pour programmeur, ‘O’ pour opérateur )
    nbCafe : tableau des entiers avec les valeurs 3, 1, 6, 0, 5, 1, 0, 3
    age : tableau des entiers avec les valeurs 25, 19, 27, 26, 49, 24, 56, 29

    1) Afficher le contenu de ces trois tableaux avant le tri

    2) De compter et d’afficher le nombre de*:
    a)programmeurs
    b)secrétaires (poste ‘S’qui n’existe pas dans les données)
    c)analystes

    3) Déterminer et d’afficher*:
    - l’âge moyen ( 1 réel )
    - la consommation moyenne de café ( 1 réel )

    4) Trier ces personnes selon leurs âges

    5) Afficher le contenu de ces trois tableaux après le tri*


    Et mon code :

    Code:
    public class NumeroB {
    
    
    // Fonction tableaux avant tri
    
      static void afficher (char[] poste, int[] nbCafe, int[] age, int nbEmp) {
    
      System.out.printf("contenu des trois tableaux avant le tri :\n");
      System.out.printf("indice poste nbCafe age\n");
    
          for(int i = 0; i < nbEmp; i+=1)
        System.out.printf ("%3i %6c %5i %6i\n", i, poste[i], nbCafe[i], age[i]);
        System.out.printf("\n\n");
    
        }
    
    // Fonction compteur
    
        static int nombre((char posteVoulu, char[] poste, int nbEmp) {
    
          int n = 0;
    
          for(int i = 0; i < nbEmp; i+=1)
            if(poste[i] == posteVoulu)
              n++;
    
          return n;
        }
    
    // Fonction moyenne
    
        static double moyenne(int[] tableau, int nbEmp) {
    
        float somme = 0;
    
        for(int i = 0; i < nbEmp; i+=1)
            somme += tableau[i];
    
        return somme / nbEmp;
        }
    
    // Fonction tri des tableaux
    
        public void trier(char[] poste, int[] nbCafe, int[] age, int nbEmp) {
    
          for (int i = 0; i < nbEmp-1; i++)
            {
              int indMin = i, j;
    
              for (j = i+1; j < nbEmp; j++)
                if (age[j] < age[indMin])
                  indMin = j;
              if(indMin != i)
                {
                  int tempo1 = age[i];
                  age[i] = age[indMin];
                  age[indMin] = tempo1;
    
                  tempo1 = nbCafe[i];
                  nbCafe[i] = nbCafe[indMin];
                  nbCafe[indMin]= tempo1;
    
                  char tempoCar = poste[i];
                  poste[i] = poste[indMin];
                  poste[indMin] = tempoCar;
                }
            }
    
    }
    
    // Fonction principale
    
        public static void main (String[] args) {
    
      char []poste = {'P', 'P', 'O', 'A', 'P', 'A', 'P', 'P'};
      int  [] nbCafe = {3, 1, 6, 0, 5, 1, 0, 3},
              age = {25, 19, 27, 26, 49, 24, 56, 29};
      int  nbEmp = age.length;
    
      // Tableux avant tri
    
        afficher (poste, nbCafe, age, nbEmp);
    
      // Afficher compteurs
    
        System.out.printf("Le nombre de programmeurs : %d\n", nombre('P', poste, nbEmp));
        System.out.printf("Le nombre de secretaires  : %d\n", nombre('S', poste, nbEmp));
        System.out.printf("Le nombre d analystes     : %d\n\n", nombre('A', poste, nbEmp));
    
        // Afficher moyennes
    
        System.out.printf("L age moyen                     : %.2f ans\n", moyenne (age, nbEmp));
        System.out.printf("La consommation moyenne de cafe : %.2f cafe(s)\n\n", moyenne (nbCafe, nbEmp));
    
        // Trier tableaux
    
        trier(poste, nbCafe, age, nbEmp);
    
        // Afficher tableaux apres tri
    
        System.out.printf("apres le tri selon les ages :\n");
        afficher(poste, nbCafe, age, nbEmp);
    
    
      }
    }
    Merci à vous !

    -----

  2. #2
    pm42

    Re : Probleme en Java

    Afficher l'erreur que te donne le compilateur serait la moindre des choses.
    Surtout qu'il est supposé t'indiquer la ligne, le caractère et que dans le cas présent, c'est très simple : un caractère en double.

    Il te fera aussi une remarque sur le mélange des méthodes statiques et non-statiques. L'utilisation presque exclusive de méthodes statiques est à éviter ou alors, ce n'est pas la peine de faire du Java.

Discussions similaires

  1. Problème Java
    Par krasnaya dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 26/09/2012, 12h23
  2. probleme sur java
    Par invite9da73615 dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 13/06/2012, 13h08
  3. probleme java
    Par GECKO00 dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 03/10/2011, 17h37
  4. Probleme java
    Par BIGFOOT176 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 09/11/2009, 17h36
  5. probléme Java et IE7 ?
    Par mistigri78 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 13/06/2009, 11h23