mon affichage ne correspond pas à la affichage demande ci quelqu'un peut m'aider
ceci est mon programme
public class TableauGroupe {
private static final int NBR = 100000;
private static final double[] BORNES = { -10.0, -6.0, -4.0, -2.0, -1.0,
0.0, 1.0, 3.0, 5.0, 8.0, 12.0, 20.0 };
// TO DO méthodes
public static double[] genererValeurs(double min, double max, int nbrClasses) {
double[] tabValeurs = new double[nbrClasses];
for (int i = 0; i < nbrClasses; ++i) {
tabValeurs[i] = Math.random() * (max - min) + min;
}
return tabValeurs;
}
//LE PROBLEME CE TROUVE ICI DANS LE BOUCLE FOR
public static int[] calculerEffectifs(double[] taBornes, double[] tValeurs) {
int n = taBornes.length - 1;
int[] tEffectifs = new int[n];
// for (double v : tValeurs) {
// tEffectifs[(int) Math.floor((v - taBornes[0])
// / (taBornes[n] - taBornes[0]) * n)]++;
// }
for (int i = 0; i < tValeurs.length; ++i) {
tEffectifs[(int) Math.floor((tValeurs[i] - taBornes[0])
/ (taBornes[n] - taBornes[0])*n )]++;
}
return tEffectifs;
}
public static int[] calculerEffectifsCumules(int[] TabEffectifs) {
int sommEffectifs[] = new int[TabEffectifs.length];
for (int i = 0, somme = 0; i < TabEffectifs.length; i++) {
sommEffectifs[i] = somme + TabEffectifs[i];
somme = sommEffectifs[i];
}
return sommEffectifs;
}
public static double[] calculerFrequences(int TabEffectifs[]) {
double[] tabFrequences = new double[TabEffectifs.length];
int efftot = 0;
for (int i = 0; i < TabEffectifs.length; i++) {
efftot += TabEffectifs[i];
}
for (int i = 0; i < TabEffectifs.length; i++) {
tabFrequences[i] = (double) TabEffectifs[i] / efftot;
}
return tabFrequences;
}
public static double[] calculerFrequencesCumulees(double tabFrequences[]) {
double[] tabFrequencesCumulees = new double[tabFrequences.length];
double somme = 0.0d;
for (int i = 0; i < tabFrequences.length; i++) {
tabFrequencesCumulees[i] = somme + tabFrequences[i];
somme = tabFrequencesCumulees[i];
}
return tabFrequencesCumulees;
}
public static void afficher(double taBornes[], int tabEffectifs[],
int tabEffectifCumules[], double tabFrequences[],
double tabFrequencesCumulees[]) {
System.out.printf("%-12s %12s %12s %12s %12s\n", "Classe",
"Effectif", "EffeCumul", "Frequences", "FreqCumul");
double binf, bsup = 0;
for (int classe = 0; classe < taBornes.length + 1
&& bsup < taBornes.length + 1; classe++) {
binf = taBornes[classe];
bsup = taBornes[classe + 1];
System.out.printf("[%5.1f %5.1f [ %12s %12s %12s %12s\n",
binf, bsup, tabEffectifs[classe],
tabEffectifCumules[classe], tabFrequences[classe],
tabFrequencesCumulees[classe]);
}
}
public static double Moyenne(double TabValeurs[]) {
double somme = 0;
/*
* for (double v : TabValeurs) { somme += v; } somme = somme /
* TabValeurs.length;
*/
for (int i = 0; i < TabValeurs.length; i++) {
somme += TabValeurs[i];
}
return somme / TabValeurs.length;
}
public static double Moyenne(double TaBornes[], int TabEffectifs[]) {
int efftot = 0;
double somme = 0;
for (int i = 0; i < TabEffectifs.length; i++) {
efftot += TabEffectifs[i];
}
for (int i = 0, j = 1; j < TaBornes.length; i++, j++) {
double max = TaBornes[j];
double min = TaBornes[i];
double centre = (((max - min) / 2) + min);
int eff = TabEffectifs[i];
somme += centre * eff;
}
return somme / efftot;
}
public static void main(String[] args) {
double[] valeurs = genererValeurs(BORNES[0], BORNES[BORNES.length - 1],
NBR);
int[] effectifs = calculerEffectifs(BORNES, valeurs);
int[] effectifsCumules = calculerEffectifsCumules(effectifs);
double[] frequences = calculerFrequences(effectifs);
double[] frequencesCumulees = calculerFrequencesCumulees(frequences);
afficher(BORNES, effectifs, effectifsCumules, frequences,
frequencesCumulees);
System.out.println("Moyenne du tableau brut : " + Moyenne(valeurs));
System.out.println("Moyenne du tableau groupé : "
+ Moyenne(BORNES, effectifs));
}
}
CECI EST MON AFFICHAGE
Classe Effectif EffeCumul Frequences FreqCumul
[-10,0 -6,0 [ 9293 9293 0.09293 0.09293
[ -6,0 -4,0 [ 8951 18244 0.08951 0.18244
[ -4,0 -2,0 [ 9044 27288 0.09044 0.27288
[ -2,0 -1,0 [ 8974 36262 0.08974 0.36262
[ -1,0 0,0 [ 9232 45494 0.09232 0.45494
[ 0,0 1,0 [ 9107 54601 0.09107 0.54601
[ 1,0 3,0 [ 9134 63735 0.09134 0.63735
[ 3,0 5,0 [ 9022 72757 0.09022 0.7275699999999999
[ 5,0 8,0 [ 9126 81883 0.09126 0.81883
[ 8,0 12,0 [ 9093 90976 0.09093 0.9097599999999999
[ 12,0 20,0 [ 9024 100000 0.09024 0.9999999999999999
Moyenne du tableau brut : 4.98120084777585
Moyenne du tableau groupé : 1.892345
CECI EST L'affichage demande
Classe Centre Effectif Eff cumul. Frequences Freq cumul.
[-10,0 -6,0 [ -8,00 13317 13317 0,13317 0,13317
[ -6,0 -4,0 [ -5,00 6636 19953 0,06636 0,19953
[ -4,0 -2,0 [ -3,00 6531 26484 0,06531 0,26484
[ -2,0 -1,0 [ -1,50 3283 29767 0,03283 0,29767
[ -1,0 0,0 [ -0,50 3282 33049 0,03282 0,33049
[ 0,0 1,0 [ 0,50 3387 36436 0,03387 0,36436
[ 1,0 3,0 [ 2,00 6624 43060 0,06624 0,43060
[ 3,0 5,0 [ 4,00 6614 49674 0,06614 0,49674
[ 5,0 8,0 [ 6,50 9996 59670 0,09996 0,59670
[ 8,0 12,0 [ 10,00 13519 73189 0,13519 0,73189
[ 12,0 20,0 [ 16,00 26811 100000 0,26811 1,00000
Moyenne du tableau brut : 5.046328890458431
Moyenne du tableau groupé : 5.04663