Ir ao conteúdo
  • Cadastre-se

(Iniciante) Vector para array


Victor Machado

Posts recomendados

Bom, eu quero uma ajudinha, um pontapé. Eu terei que fazer uns cálculos com uns números, os quais estão armazenados em um vetor. Fiz primeiro o teste e coloquei os numeros a mao pra ver se o metodo está ok, e tudo certo. O problema é que rão me dar arquivos txt que servrão de entrada. Eu já vi como ler txt. O problema tá send ofazer que o meu vetor pegue esses valores. Está assim:

package testqui;
import java.util.Scanner;
import java.io.*;
import java.util.*;
import java.io.File;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Vector;
/**
* * @author victor
*/
public class testqui {

public testqui() throws IOException {

//abertura de arquivo
File arquivo = new File("c:/text.txt");
FileReader entrada = new FileReader(arquivo);
BufferedReader ler = new BufferedReader(entrada);
Vector vetor = new Vector();
String linha = null;

for (int i = 0; ler.ready(); i++) {
linha = ler.readLine().toString();
double dados = Double.parseDouble(linha);
vetor.add(dados);
System.out.printf("Dados do Vetor: %s\n", vetor);

ler.close();
Vector Fob= new Vector();
Fob.add(vetor); //<-------???
}
}
public static void main(String[] args){


double Fob[]= {315,142,40,9,2,1}; //<<<---Aqui tem que ser os dados de entrada lidos do txt
double x2;
double mediaPond1 = 0;
double mediaPond = 0;
double Fesp[] = new double[Fob.length];
//double DP[] = new double[Fob.length];
double DP[] = {0.5976, 0.307, 0.0795, 0.0135, 0.0017, 0.0001} ;//será calculado em cima dos dados de entrada
double soma=0;

System.out.print(" i Fob[i]: \n");
for(int i=0;i<Fob.length;i++)
{
double md = Fob[i];
mediaPond1=(md*i)+mediaPond1;
//DP = densidade probabilidade

System.out.printf(" %s %s; i x Fob = %s\n", i, Fob[i],i*Fob[i]);
soma = soma + Fob[i];
}
System.out.printf(" Total: ------------%s\n\n",mediaPond1);
mediaPond=mediaPond1/soma;
System.out.printf("Valor da média Ponderada: \n%f\n\n",mediaPond);


x2=0; //Chi-square
for(int j=0;j<(Fob.length); j++){
Fesp[j]=(soma)*DP[j]; //calcula frequencia esperada
System.out.printf("Fesp atual: \n%f\n\n",Fesp[j]);
x2 = (Math.pow(Fob[j]-Fesp[j],2)/Fesp[j]) + x2; //valor esperado

System.out.printf("Qui-Quadrado dinâmico: %f\n\n",x2);

}
System.out.printf("Qui-Quadrado calculado: %f\n\n\n",x2);
}
/**
* @param args the command line arguments
*/
// TODO code application logic here

}

Link para o comentário
Compartilhar em outros sites

Oi, consegui fazer modificações, e armazenar os dados em um Vector. Agora, gostaria de converter meu Vector para um array do tipo double, para fazer as operaçõs necessárias.

...

...

public static void main(String[] args) throws IOException
{
//double Fob[]= {315,142,40,12}; os dados como dever ser usados (mas serao carregados a partir de txt

double x2;
double mediaPond1 = 0;
double mediaPond = 0;
double DP[] = new double[Fob.length];
double Fesp[] = new double[Fob.length];
double e = 2.71828;
double fat;
Vector a = new Vector();

int n;
int x;


FileReader inputFile = new FileReader("C:/Documents and Settings/LPRAD/Desktop/dados.txt");
BufferedReader leitor = new BufferedReader(inputFile);
// FileReader in = new FileReader(inputFile);
String c;

while((c=leitor.readLine())!=null)
{
a.add(c);
}
leitor.close();

System.out.printf(" a: %s\n",a);

//ESSE 'a' PASSARÁ A SER MEU VETOR DOUBLE FOB, COMENTADO ACIMA

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...