Meu professor de estatística pediu um programa que faça alguns cálculos … até ai tudo certo … porem estou com problemas na hora de fazer a frequência acumulada da minha tabela de distribuição de frequência, que todos podem olhar como fazer clicando aqui , porem eu só consigo repetir os valores, e não soma-los, como vcs podem ver:
que esta assim por enquanto …
public class todo {
private static final String Double = null;
static int qtdbd = 0;
static float length = 0;
static float somatresult = 0, produtresult = 1;
static Scanner entrada = new Scanner(System.in);
public static void main(String[] args) {
int cont = 0;
int cont2 = 0;
System.out.println("Qual o tamanho que o Banco de dados vai ter ?");
qtdbd = entrada.nextInt();
float dados[] = new float[qtdbd];
//====================
public static void bdados(float dados[]) {
int b = 0;
int cont2 = 0;
for (int i = 0; i < dados.length; i++) {
System.out.println("Entre com o banco de dados completo, " + (i + 1) + "° Valor:");
cont2 = entrada.nextInt();
dados[i] = cont2;
length++;
}
e esta é a tabela …
public static void classes(float dados[]) {
float result = 0;
float log = 0;
float classi = 0;
float menor2 = 0, maior2 = 0;
float contfi = 0;
for (int i = 0; i < dados.length; i++) {
if (dados[i] > maior2) {
maior2 = dados[i];
}
if (dados[i] < menor2) {
menor2 = dados[i];
}
}
result = maior2 - menor2;
if (dados.length > 25) {
log = (float) (1 + (3.3 * (Math.log10(length))));
log = (float) Math.ceil(log);
classi = result / log;
}
if (dados.length <= 25) {
log = (float) (Math.sqrt(length));
log = (float) (Math.ceil(log));
classi = result / log;
}
float vetabela[] = new float[(int) log + 2];
float fi[] = new float[(int) log + 1];
float fic[] = new float[(int) log + 1];
float fic2[] = new float[(int) log + 1];
System.out.println(
"|=================================================================================================|\n\n");
System.out.println("O numero de classes é: " + log + "\n" + "A Amplitude total é: " + classi + "\n\n");
System.out.println(
"|=================================================================================================|\n\n");
vetabela[0] = menor2 + classi;
for (int i = 0; i < log ; i++) {
vetabela[i + 1] = vetabela[i] + classi;
for (int j = 0; j < dados.length; j++) {
if (dados[j] >= vetabela[(int) (classi - classi) + (i)]
&& dados[j] < vetabela[(int) ((classi - classi) + (i + 1))]) {
fi[i]++;
}
}
}
for (int i = 0; i < log; i++) {
fic[i] = fi[i] + fic[i];
System.out.println("(((((-))))) " + vetabela[(int) (i)] + " |--------- "
+ vetabela[(int) ((i + 1))] + " | " + fi[i] + " | " + fic[i] + "\n");
}
System.out.println(
"|=================================================================================================|\n\n");
}
Alquém teria como dizer aonde errei ou o porque de não estar funcionando ? agradeço, desculpe pela formatação … meu primeiro tópico