Exercice bien prise de tête java niveau bac+1

Fermé
narcotique - 30 sept. 2003 à 09:52
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 24 avril 2010 à 21:10
Bonjour !
Donc moi je suis en deuxième année de DUT SRC et ils se sont mis en tête de m'apprendre depuis 1 an le java.
Pt problème moi je suis largué complet... tout juste si je capte les boucles.
Enfin bref là on en est au gros chapitre : "Les méthodes et les variables de classe"...
Voici l'exercice qu'on a à faire... si kelkun aurait la gentillesse de m'expliquer.
Une entreprise possède 4 agences nommées A, B, C, D. Le chiffre d'affaire (CA) des agences pour l'année 2002 est de respectivement : 60, 70, 30, 40.

1. Ecrire une méthode qui calcule et indique le nom de l'agence qui a réalisé le plus gros chiffre d'affaire. (Indication : utiliser 2 tableaux, "TabAgence" pour les noms des agences et "TabCA" pour les chiffres d'affaire).
2. Ecrire une méthode qui calcule le CA total de l'entreprise pour l'année 2002.
3. Ecrire une méthode qui calcule le pourcentage du CA réalisé par chaque agence.
4. Ecrire une méthode qui :
- affiche (à la première ligne) chaque agence et le libellé TOTAL.
- affiche (à la deuxième ligne) le CA de chaque agence et le chiffre d'affaire total de l'entreprise.
- affiche à la troisième ligne le pourcentage du CA total réalisé par chaque agence.
- affiche (à la quatrième ligne) le nom de l'agence qui a réalisé le plus gros chiffre d'affaire.
NB : Ne pas utiliser de variables de classe, il faut impérativement utiliser les paramètres formels.
A voir également:

19 réponses

choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
7 oct. 2003 à 12:44

// cette classe représente donc la structure d'une agence de ton entreprise.
public class Agence {

    private String name;   // chaque agence est identifiée par son nom (A,B,C,..)

    private int chiffreAffaire; // chaque agence possède sont propre chiffre d'affaire.

    private int pourcent;  // idem pour son pourcentage.

    //constructeur de la classe Agence qui prends comme arguments son nom et son chiffre d'affaire.
     public agence (String name, int chiffreAffaire){

         this.name = name; // le nom de l'instance de l'agence est initialisé.
         this.chiffreAffaire =  chiffreAffaire; // idem pour le chiffre d'affaire.

   }

   public String getName(){ // chaque agence connaît son nom et est capable de le restituer.
       
        return this.name;
    }

  public int getChiffreAffaire(){//idem pour le chiffre d'affaire
     
       return this.chiffreAffaire;
  }

  // cette méthode permet à l'instance de l'Agence de connaître son pourcentage au sein de l'entreprise, pour se faire elle le calcule par rapport au chiffre d'affaire Total de l'entreprise passé en argument de la méthode.
  public int getPourcentage(int totalEntreprise){

        int tempo = 0; // variable locale

       // là tu fais ton petit calcul où le resultat sera mis dans la variable tempo...

     this.pourcent = tempo; // là tu donne la valeur calculé à l'attribut pourcent.

     return this.pourcent; // la méthode renvoie à l'objet qui à fait l'appel, le résultat obtenu.
   }

}
// cette classe représente donc l'entreprise regroupant les agences.
public class Entreprise{

    // les agences sont regroupées dans une structure de données (dans ce cas ci, j'ai choisi l'ArrayList.
    private Arraylist mesAgences;
    private int CA; // l'entreprise connaît son chiffre d'affaire total ou peut le calculer.
    private Agence bestAgence; //elle connaît aussi ses champions
    
//constructeur de la classe entreprise qui prends en argument l'ArrayList de ses Agences.
    public Entreprise(Arraylist mesAgences){

        this.mesAgences = mesAgences; //initialisation de l'arraylist
 
        calcCA(); //appel de la méthode permettant de calculer le chiffre d'affaire total.
    }
   //méthode de calcul du chiffre d'affaire de l'entreprise
   private void calcCA(){
     
        int CATempo = 0;

        Iterator it = mesAgences.iterator(); //on crée un iterateur pour parcourir l'arraylist
        
        while (it.hasNext()){ // tant qu'il y a une entrée dans la liste
               
            Agence ag = (Agence) it.next(); // on "caste" l'objet pointé dans la liste
            CATempo = CATempo + ag.getChiffreAffaire(); //on demande à l'agence selectionnée de donner son CA et on l'additionne
          }
        CA = CATempo;//la variable CA est initialisée avec la somme de tous les CA des Agences
    }

   public int getCA(){ //méthode simple permettant de connaître le CA de l'entreprise.
       return CA;
   }


  public void printBestAgence(){//méthode affichant après calcul la meilleur agence

   int bestCA = 0; // déclaration des variables locales
  string nameOfBest;

  Iterator it = mesAgences.iterator();

  while(it.hasNext()){
         Agence ag = (Agence) it.next(); //caste"
         
         if(ag.getChiffreAffaire > bestCA){
                  bestCA = ag.getChiffreAffaire();
                  nameOfBest = ag.getName();
                  bestAgence = ag;
              // cet algorithme permet de retrouver le nom de la meilleure agence par comparaison des CA respectifs.
             }
        }

      System.out.println( " TabAgence " + " TabCA " + "\n");
      System.out.println(  nameOfBest  +  bestCA  + "\n");

 }

 private Agence getBestAgence(){// permet de renvoyer le nom du champion
           return bestAgence;
      
   }

 public void printAll(){

   // là je te laisse un peu chercher 8))
  // c'est pas sympa peut être mais avec toutes les méthodes définies auparavant tu es capable d'afficher toutes les infos demandées

  }

}
//cette classe te permet de lancer l'application
 public class LauncherApplication{

   public static void main (String[] args){

        Arraylist agences = new ArrayList(); //l'aaraylist est instancie
        Agence a = new Agence("A", 60);//définition des Agences avec leur constructeurs et les arguments associés
        Agence b = new Agence("B", 70);
        Agence c = new Agence("C", 30);
        Agence d = new Agence("D", 40);

        agences.add(a); // on insère les Agences dans la structure de données
        agences.add(b);
        agences.add(c);
        agences.add(d);
        
        Enterprise e = new Enterprise( agences); //instanciation de l'entreprise avec comme argument de constructeur l'arraylist de ses agences

        e.printBestAgence(); //appel des  méthode d'affichage de l'entreprise
        e.printAll();
   }


}



ChoubaPostor 10000 :
Le plus bô des modos.
2
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
30 sept. 2003 à 11:20
on va essayer??

public class Agence {

    private String name;
    private int chiffreAffaire;
    private int pourcent;

    public agence (String name, int chiffreAffaire){

         this.name = name;
         this.chiffreAffaire =  chiffreAffaire;

   }

   public String getName(){
       
        return this.name;
    }

  public int getChiffreAffaire(){
     
       return this.chiffreAffaire;
  }

  public int getPourcentage(int totalEntreprise){

        int tempo = 0;

       // là tu fais ton petit calcul où le resultat sera mis dans la variable tempo...

     this.pourcent = tempo;
     return this.pourcent;
   }

}

public class Entreprise{

    private Arraylist mesAgences;
    private int CA;
    private Agence bestAgence;
    
    public Entreprise(Arraylist mesAgences){

        this.mesAgences = mesAgences;
        calcCA();
    }

   private void calcCA(){
     
        int CATempo = 0;

        Iterator it = mesAgences.iterator();
        
        while (it.hasNext()){
               
            Agence ag = (Agence) it.next();
            CATempo = CATempo + ag.getChiffreAffaire();
          }
        CA = CATempo;
    }

   public int getCA(){
       return CA;
   }


  public void printBestAgence(){

   int bestCA = 0;
  string nameOfBest;

  Iterator it = mesAgences.iterator();

  while(it.hasNext()){
         Agence ag = it.next();
         
         if(ag.getChiffreAffaire > bestCA){
                  bestCA = ag.getChiffreAffaire();
                  nameOfBest = ag.getName();
                  bestAgence = ag;
             }
        }

      System.out.println( " TabAgence " + " TabCA " + "\n");
      System.out.println(  nameOfBest  +  bestCA  + "\n");

 }

 private Agence getBestAgence(){
           return bestAgence;
      
   }

 public void printAll(){

   // là je te laisse un peu chercher 8))

  }

}

 public class LauncherApplication{

   public static void main (String[] args){

        Arraylist agences = new ArrayList();
        Agence a = new Agence("A", 60);
        Agence b = new Agence("B", 70);
        Agence c = new Agence("C", 30);
        Agence d = new Agence("D", 40);

        agences.add(a);
        agences.add(b);
        agences.add(c);
        agences.add(d);
        
        Enterprise e = new Enterprise( agences);

        e.printBestAgence();
        e.printAll();
   }


}



c'est à améliorer bien sûr, mais on se rapproche de l'idée 8))


ChoubaPostor 10000 :
Le plus bô des modos.
2
ader10 Messages postés 1 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006
23 nov. 2006 à 03:08
slt a tous,d'abord pr ce qui concerne le code de la 1 éxé la class entreprise contient des agences ces dérniers sont stockés dans 1 arrayList en ai b1 d'accord mé le compilateur ne conné pa qu'est ce que 1 arraylist alors il envoye 1 msg d'erreur é pr évité ce genre de pb en importé le paquet(package) qui contient la classe arraylist/vector/hashtable é aussi l'inertface iterator voilà

import java.util.*; //la classe util contient l'enssemble des tableaux dynamique comme arraylist

si en vx pricisé la classe en met :

import java.util.arraylist;

é bon chance a tous
0
Je suis bien décidée à m'accrocher... Cet exercice me parait trop compliqué. La correction que tu m'a fournie chouba m'a un peu dérouillée mais je n'arrive pas encore à fonctionner comme un programateur. A la base je suis une littéraire et se plier et penser comme le fait une machine m'est trés difficile...
Cette fois j'ai un exercice plus simple. Je sollicite encore de l'aide. J'aimerai tellement comprendre.
Si quelqu'un avait la gentillesse de m'expliquer comme à une enfant de deux ans sans doute cela me donnerait envie d'avancer.
Pour l'instant je bloque. Les methodes et passage de paramètre args....
Voici mon sujet :
Les clients d'une banque souhaitent pouvoir calculer le capital qu'ils auront dans un certain nombre d'années en fonction du taux d'interet proposé. Ecrire une méthode qui :
- lit le capital actuel, le taux d'interet appliqué et le nombre d'années pour la simulation.
- affiche la valeur du capital au bout du nombre d'années indiqué.
2
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
7 oct. 2003 à 12:16
salut

A la base je suis une littéraire et se plier et penser comme le fait une machine m'est trés difficile...

petite remarque... si on t'a bien expliqué le principe de la programmation orientée objets, tu dois te rendre compte que justement on fait abstraction de la manière dont travaille une machine. L'orienté objet permet de transposer le monde réel dans ton rpogramme. Que tu n'ai pas bien compris mon code, c'est peut être un peu de ma faute, je ne l'ai pas documenté par manque de temps. Cependant, je te conseille fortement de bien cerner d'abord la manière et comment fonctionne java par des exercices un peu plus simple que de directement t'attaquer à du plus lourd. Tu prends mon conseil comme tu l'entends mais sans maitriser les bases, tu risques de t'enfoncer encore plus. Maintenant, je veux bien t'aider et je vais te renvoyer le code précédent, documenté dès que possible..

8)



ChoubaPostor 10000 :
Le plus bô des modos.
0
slt nacrotique chui aussi en 1ere année de développement informatique et je crois que t'as raison c difficile à comprendre, mé à vrai dire pr comprendre java il faut bien apprendre les algorithmes .bon g une solution d'un exercice pareil mé en algorithme, tu peux le traduire et ça peut aider un peu, l'exercice et celui là :
écricre un algo qui permet de calculer le nombre d'années nécessaires pour qu'une somme d'argent d'un compte épargne soit triplé en fonction du taux d'interet.
la solution est :
variables:
nb : entier
S(i) , t , S : réel
début:
lire (Si);
lire (t);

S=Si;
nb=0;

tant que (S=3*Si);
S=Si* (1+t);
nb=nb+1;

fin tant que
écrire (nb);
fin
bon courage =)
0
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
30 sept. 2003 à 15:03
je comprend absolument rien

c'est gentil 8))

ben c'est du Java, et ça doit répondre à ton problème
je t'ai laissé un peu de travail quand même..

si tu veux plus d'explications ou autre, hésite pas...

ChoubaPostor 10000 :
Le plus bô des modos.
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut a tous !

Je te plaint narcotique car tu a l'aire de galerer mais je comprend pas comment tu fait pour galerer autant , car ca n'est pas bien compliquer m'enfin tout ca pour te dire que si tu veux des cours du soir il existe beaucoup de site qui t'expliquerons en detail le Java en ommencant par les base .

Il existe aussi de bon bouqin pas tres chere qui reprennent eux asi la base de Java on peut par exemple sité la collection "Le tout en poche" de campuspress

@+
1
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
7 oct. 2003 à 12:59
Pour ton projet de banque

public class CompteClient

    private int capitalActuel;
    private int tauxActuel;

    public CompteClient(int capitalActuel, int tauxActuel){

          this.capitalActuel = capitalActuel;
          this.tauxActuel = tauxActuel;

    public void simulation(int nombreAnnee){

          int sim = 0;

         // ici tu écris ton calcul et tu mets la valeur du résultat dans la variable locale "sim"
        
          System.out.println("Capital Actuel: " + capitalActuel + "€" + "/n");
          System.out.println("Taux actuel: " + tauxActuel + "%"+ "/n");
          System.out.println("Simulation pour: " + nombreAnnee + " ans");
          System.out.println("Résultat de la simulation: " + sim + "€"+ "/n");

}

       public static void main (String[] args){

        CompteClient compte = new CompteClient(3000,12);
        compte.simulation(10);
       compte.simulation(15);
       compte.simulation(25);
}
}
ChoubaPostor 10000 :
Le plus bô des modos.
1
Bonjour,

j ai commencer des études de programmation cette année et le Java c est pas facile a cerner c est clair qu il faut se creuser la tete et réfléchir mais au début c est bien de montrer une "base" pour la solution a trouver au problème. En ce qui me concerne la seule chose qui m énèrve c est la javadoc qui est un peu compliqué a comprendre car tout est en anglais mais la javadoc est bien structurée surtout quand le prof nous fait la traduction. bonne chance a tous et perdez pas courage.
1
j'ai vue que "shaymouaa" a ecrit sa:

nb=nb+1;

meme si sa date de lomgtemps tu aurais du mettre sa shaymouaa

nb += 1

;)
1
je te remercie...
je comprend absolument rien mais je vais essayer d'analyser ca la tete vide.
en tout cas mici bcp.
0
je ve bien des cours du soir lol....
c quoi ton email ?
0
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
30 sept. 2003 à 15:17
le soir? sorry ça je sais pas faire, je fais la fête 8))

mon mail est dans mon profil de CCM

ChoubaPostor 10000 :
Le plus bô des modos.
0
mici... j'ai imprimé tout ca et je vais me mettre à fond dedans ce week end.
je pense suivre tes conseils.
0
Bonjour choubaka,

dans un précédent message, tu disais que ton mail figurait sur ton profil mais je ne le vois pas.
Pourrais-tu l'indiquer car j'aimerai aussi avoir ton aide

Merci
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
23 nov. 2006 à 07:51
Salut,

mais je ne le vois pas

C'est normal.
Tu dois être membre CCM et si tu es membre tu dois être connecté sur ton compte.
Moi je vois son mail, mais je ne peux pas te le donner ;-) , c'est contre la charte.

lami20j
0
moctar camara > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
17 avril 2007 à 00:49
ecrire un algo qui demande un nombre de départ, et qui ensuite affiche les dix nombres suivants
0
Bonjour,
vs êtes des plouk fo pas les aidés , j'ai 32 ans et je trouve que c'est de la triche de demander de l'aide quand on a un problème; c'est trop facile!!!!!
0
public agence (String name, int chiffreAffaire){

ici il y a une erreur la quelle ????
0
Il ne devrait pas y avoir un « void » ?
public void agence (String name, int chiffreAffaire){ bloc d’instruction de la méthode nom agence}
A moins que cela ne sois un fonction ? alors il faut mettre le type de ce que tu va retourné à la place du void : public int agence (String name, int chiffreAffaire){ … return (un entier)}
(si tu retourne un entier tu pourrais très bien mettre String).
0
zizo33 Messages postés 1 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 14 janvier 2008
14 janv. 2008 à 21:53
Voici un site contient des cours et des exercice en JAVA www.in4matique.c.la
0
je vous remerciie mille foiiiiiiiis pour ce site que tu as donné aux enfantx
0
sVP pouvez m'envoyer des exos en java afin de pratiquer.
0
neo2009 Messages postés 17 Date d'inscription samedi 8 novembre 2008 Statut Membre Dernière intervention 12 novembre 2008
10 nov. 2008 à 23:19
Bonjour
Donc moi je suis en 1ère année en informatique et j'ai quelque difficulté en programmation
Voici l'exercice qu'on a à faire et si quelqu'un aurait la gentillesse de m'expliquer, merci .

écrire une classe tableau comportant les attributs suivantes :
un tableau d'entiers.elle comporte les méthodes suivantes :
Constructeur qui alloue un tableau de dimension "n ".
Remplir le tableau par des valeurs aléatoires entre 0 et 100.
Moyenne : calculer la moyenne
Min : retourne min : la plus petite élément du tableau
Max : retourne max : la plus grande élément du tableau
Somme : retourne la somme des éléments du tableau
0
exericices 1


public string NomAgenceCA(string TabAgence,int TabCA)
{
int max CA=0;
int index;
for( int i=0;i<TabCA.length();i++)
{
if(TabCA[i]>max)
{ max=TabCA[i];
inex=i;}
}
return(TabAgence[index]);
}
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
24 avril 2010 à 21:10
Sujet qui remonte à 7 ans ... dont la réponse avait donné en temps et en heure.

Bravo !!!
0