axelvdk
Messages postés42Date d'inscriptiondimanche 26 août 2012StatutMembreDernière intervention30 mai 2013
-
15 mars 2012 à 16:00
axelvdk
Messages postés42Date d'inscriptiondimanche 26 août 2012StatutMembreDernière intervention30 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.
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020370 15 mars 2012 à 16:10
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());
}
}