Les tableaux - constructeur [Résolu]

Messages postés
43
Date d'inscription
dimanche 26 août 2012
Statut
Membre
Dernière intervention
30 mai 2013
- - Dernière réponse : axelvdk
Messages postés
43
Date d'inscription
dimanche 26 août 2012
Statut
Membre
Dernière intervention
30 mai 2013
- 15 mars 2012 à 16:22
Bonjour,

J'ai un exercice où il s'agit de calculer la moyenne de plusieurs factures d'un même client. (Les montants des factures sont à mettre dans un tableau à remplir à l'aide du constructeur "Facture". Le remplissage se fait au clavier dans le main.) Ca donne :

class Facture{

private String nom;
double  tabMont []  = new double [4];



public Facture(String nom){
this.nom=nom;
}

public Facture(double element,int i){
this.tabMont[i]=element;
}

public void  Moyenne(){
int som=0;
double moy;
for(int i=0;i<tabMont.length;i++)
{
som += tabMont[i];
}
moy=(som/tabMont.length);
System.out.println("Le montant moyen des factures de monsieur "+ nom +" est  : "+som);
}	
}

C'était la classe du constructeur et j'ajoute celle du main :
class TstFacture{
public static void main (String [] args){

System.out.println("Entrer le nom du client");
Facture a = new Facture(Clavier.lireString());

System.out.println("Entrer le montant de la première facture");
Facture b = new Facture(Clavier.lireDouble(),0);
for (int i = 0;  i<3 ; i++){
System.out.println("Entrer le montant de la facture suivante");
Facture c = new Facture(Clavier.lireDouble(),i+1);
}

a.Moyenne();
}

}

Le problème est que le tableau du constructeur tabMont ne se rempli pas et j'obtiens comme moyenne : 0.

Comment encoder les données dans le tableau ?

Merci à ceux qui prendront la peine de me lire,

Axel


Les petits ruisseaux font les grands fleuves...
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
244
1
Merci
Salut,

Je ne comprend pas ce que tu fais, tu as 4 nombres à mettre dans un tableau c'est ca ?

public class Facture{

private String nom;
private double[] tabMont;;

public Facture(String nom){
this.nom=nom;
this.tabMont = new double[4];
}

public void setMont(double montant, int position){
tabMont[position]=montant;
}

public double moyenne(){
double somme=0;
double moy;
for(int i=0;i<tabMont.length;i++){
som+=tabMont[i];
}
return somme/tabMont.length;
}
}


public class TstFacture{
public static void main (String [] args){
System.out.println("Entrer le nom du client");
Facture a = new Facture(Clavier.lireString());	
System.out.println("Entrer le montant de la première facture");
a.setMont(Clavier.lireDouble(), 0);
for (int i = 0;  i<3 ; i++){
System.out.println("Entrer le montant de la facture suivante");
a.setMont(Clavier.lireDouble(), i+1);
}
System.out.println(a.moyenne());
}

}

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
43
Date d'inscription
dimanche 26 août 2012
Statut
Membre
Dernière intervention
30 mai 2013
0
Merci
Un grand merci pour le code et la rapidité de réponse ! ça tourne parfaitement !

A plus,

Axel






Les petits ruisseaux font les grands fleuves...
Commenter la réponse de axelvdk