ClassEleve

Fermé
lilou - Modifié par lilou le 3/01/2014 à 13:56
 lilou - 3 janv. 2014 à 20:27
Salut tt le monde je suis débutante ne java et j ai réaliser un exercice que j ai trouvé sur net voila le lien:
http://perso.telecom-paristech.fr/~hudry/coursJava/exercices/eleve.html
mais j ai pas bien saisi ces 2 methode:
(voir corrigé)
une note superieure a 20 sera considere comme egale a 20 */
    public void ajouterNote(int note) {
 int nbNotes = this.listeNotes.size();
 if (note < 0) note = 0;
 else if (note > 20) note = 20;
 this.moyenne = (this.moyenne * nbNotes + note) / (nbNotes + 1);
 listeNotes.add(note);
    }
    
    public String toString() {
 return nom + " (" + (int)(100 * moyenne)/100.0 + ")";
    }
}

vous pouvez m 'expliqué SVP :s

4 réponses

des réponses SVP je suis coincé!!!!
0
irmeche Messages postés 71 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 18 juillet 2014 17
3 janv. 2014 à 14:09
salut,

ajouterNote : cette méthode ajour une note a ma liste listeNotes et elle calcule la moyenne de toute les notes de la cette liste , oui si la note est > 20 en prends 20 si elle est < 0 on prend 0.

la methode toString affiche : nom (moyenne)
0
mais dans la main (TestEleve)
http://perso.telecom-paristech.fr/~hudry/coursJava/exercices/corriges/TPEleves/gestionEleves/TestEleve.java
ils ont fait class TestEleve {
public static void main(String[] arg) {
Eleve eleve = new Eleve(arg[0]);
for (int i = 1; i < arg.length; i++) {
eleve.ajouterNote(Integer.parseInt(arg[i]));
System.out.println("Moyenne de " + eleve.getNom() +
" : " + eleve.getMoyenne());
}
System.out.println(eleve);
}
}
mais comment fait pour rentrer le nom j ia rien comprie la!! :/
0
et puis ce bout de code là que j ai pas saisi pourkoi tout ce charabia!!
this.moyenne = (this.moyenne * nbNotes + note) / (nbNotes + 1);
listeNotes.add(note);
0
irmeche Messages postés 71 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 18 juillet 2014 17
Modifié par irmeche le 3/01/2014 à 14:59
this.moyenne = (this.moyenne * nbNotes + note) / (nbNotes + 1);

ce bout de code c'est des maths lilou, pour calculer la moyenne après ajout d'une nouvelle note, on prend la moyenne précédente multiplier par le nombre de notes en ajoute la nouvelle note ce qui donne nbNotes +1 au total n pour trouver la moyenne il faut diviser cette somme sur (nbNotes + 1).

nbNotes c'est le nombre de notes avant l'ajout de la nouvelle note.

- listeNotes.add(note); : avec ça on ajoute la nouvelle note a la liste des notes
0
irmeche Messages postés 71 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 18 juillet 2014 17
Modifié par irmeche le 3/01/2014 à 15:13
pour eu il passe le nom de l'eleve à la compilation dans les arguments de la méthode main

pour toi si tu utilise un IDE fait comme ça:


class TestEleve { 
 public static void main(String[] arg) { 
  // 5 c le nombre d'arguments total 
  arg = new String [5];
  // le nom 
  arg[0] = new String("lilou");
  // les notes
  arg[1] = new String("18");
  arg[2] = new String("15");
  arg[3] = new String("20");
  arg[4] = new String("10");
  
  Eleve eleve = new Eleve(arg[0]); 
  for (int i = 1; i < arg.length; i++) { 
   eleve.ajouterNote(Integer.parseInt(arg[i])); 
   System.out.println("Moyenne de " + eleve.getNom() + " : " + eleve.getMoyenne()); 
  } 
  System.out.println(eleve); 
 } 
} 




pour tester en ligne de commande sans faire les modifications que je t'ai montré ci-dessus tu fais:

java TestEleve lilou 18 15 20 10
0
merci irmeche ,tu px me donner un lien ou je px me documenter sur la maniere de passer les paametres en args de main ,merci encore pour tes efforts mille merci
0
irmeche Messages postés 71 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 18 juillet 2014 17
Modifié par irmeche le 3/01/2014 à 18:23
De rien Lilou ; c simple pour la compilation et l'exécution en ligne de commande :
regarde ce lien :

http://igm.univ-mlv.fr/ens/IR/IR1/2011-2012/Java/td01.php

une chose importante a vérifier c'est les variable d'environnements, si au moment de la compilation t'as une erreur comme :
'javac' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.

donc t'as pas bien paramétrée tes variable d'environnement

regarde ca aussi:
https://java.com/fr/download/help/path.html
0
merci encore une foie c tres généreux de ta par!
0