Les tableaux - constructeur

Résolu
axelvdk Messages postés 41 Date d'inscription dimanche 26 août 2012 Statut Membre Dernière intervention 30 mai 2013 - 15 mars 2012 à 16:00
axelvdk Messages postés 41 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...

2 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
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());
}

}

2
Rejoignez-nous