Um método que recebe como parâmetro um Vector, e preciso utilizar os elementos desse vetor num calculo.
public float MediaAritmetica (Vector entrada, boolean escreve) {
float temp = null;
for (int i = 0; i < ValorDoPrimeiroElementoDoVetor; i++) {
temp + entrada.elementAt(i);
}
float resultado = temp;
}
Tentativa: utilizar o valor do primeiro elemento do vetor num laço de repetição, somando os elementos seguintes desse vetor, de acordo com o número de vezes identificado no laço criado.
Exemplo: se a primeira posição do vetor contem “5”, então ele pegara os próximos 5 elementos do vetor e somará dentro do laço criado.
Entendi +/-, vê se isso funciona e se é isso que vc quer:
publicfloatMediaAritmetica(Vectorentrada,booleanescreve){
floattemp=null;for(inti=0; i < ((Float)entrada.elementAt(0)).floatValue(); i++) {temp+=((Float)entrada.elementAt(i)).floatValue();}
floatresultado=temp;}
Espero que tenha ajudado!
Abraços
leonardorcortes
public float MediaAritmetica(Vector entrada, boolean escreve) {
float temp = 0;
for (int i = 0; i < ((float)entrada.elementAt(0)).floatValue(); i++) {
temp += ((float)entrada.elementAt(i)).floatValue();
if (escreve) {
System.out.println(new StringBuffer().append("# ").append(i).append(" -> ").append(temp).toString());
}
}
return temp;
}
O erro ainda permanece: ele não consegue fazer o Cast de Object para float.
Roda o exemplo que eu fiz e ve o que está faltando pra vc. Este exemplo está perfeito, aqui rodou, acabei de fazer.
Qq dúvida me avisa.
leonardorcortes
Rodrigo!
por favor, de uma verificada no forum java avancado, tem um topico com o mesmo assunto que postei aqui.
verifica minha classe la… ve se acha o erro meu… to mto brabo ja com essa coisa que ta me trancando tudo…
valeu!
leonardorcortes
/** * @author Leonardo Reis Cortes * @date 29/03/2005 * @version 1.0.0 */importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.IOException;importjava.util.Vector;publicclassTeste{publicVectorReadStream(Stringfilename,booleanprint)throwsIOException{FileReaderinput=newFileReader(newFile(filename));BufferedReaderreader=newBufferedReader(input);Stringline=null;Vectorcontent=newVector();for(inti=0;reader.ready();i++){line=reader.readLine().toString();content.add(line);if(print){System.out.println(newStringBuffer().append("#").append(i).append(" -> ").append(line).toString());}}reader.close();input.close();returncontent;}publicfloatMediaAritmetica(Vectorentrada,booleanescreve){floattemp=0;floatresult=0;for(inti=0;i<((Float)entrada.elementAt(0)).floatValue();i++){temp+=((Float)entrada.elementAt(i)).floatValue();if(escreve){System.out.println(newStringBuffer().append("# ").append(i).append(" -> ").append(temp).toString());}}result=temp/((Float)entrada.elementAt(0)).floatValue();returnresult;}publicstaticvoidmain(String[]args)throwsIOException{Testet=newTeste();t.MediaAritmetica(t.ReadStream("entrada.txt",true),true);}}/** * Copyright (c) 2005 Leonardo Reis Cortes. All rights reserved. */
Dá erro na execução... :cry:
rodrigo.achilles
Resolvido o problema.
Me desculpe pela demora é que tive que ir para a faculdade ontem a noite.
O problema é que quando vc pegava de um arquivo que no caso era o entrada.txt, transformava em um Vector só que em vetor de Strings, por isso o problema de Cast de String para Float.
Obrigado pela Solução, acabei encontrando uma outra forma de resolver meu problema, que realmente era nessa mudanca de String, que não havia me dado por conta.
Obrigado a todos que contribuiram nesse tópico, num único dia foi produtivo o conteúdo e resolvido o problema.