ClassEleve
lilou
-
lilou -
lilou -
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 */
vous pouvez m 'expliqué SVP :s
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
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)
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)
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!! :/
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!! :/
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
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
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:
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
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
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
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