Ler aquivo e armazena valor double em um vetor

4 respostas
jaymemattos

Boa noite galera, estou com um problema na leitura de um arquivo e mostrando o valor correto, vou explicar.
Tenho um arquivo de texto e leio o mesmo e armazeno o dado em um vetor, que no caso é um double, e depois mostro na tela, mais quando eu mostro o valor na tela ele nao mostra o valor correto, vou colar o conteudo do arquivo e o codigo:

ARQUIVO

01,44.8,22.35,43.20,100.20
02,12,10,0,0
03,33.3,22.35,43.20,100.20

CODIGO

public void actionPerformed(ActionEvent arg0) {
				try{
					FileReader fr = new FileReader("arqTrab");
					BufferedReader br = new BufferedReader(fr);
					String linha;
				
					while((linha = br.readLine())!=null){
						String[] vet = linha.split(",");
						double[] horasT = new double[2];						

						System.out.println("Horas Trabalhadas: "+horasT );					
						

					}

					
				}catch(Exception e){
					e.printStackTrace();
				}
			}

E olhe o que ele me retorna

Horas Trabalhadas: [D@f3d6a5
Horas Trabalhadas: [D@1bd4722
Horas Trabalhadas: [D@1f20eeb

Alguem sabe me dizer porque???
Obrigado.

4 Respostas

luizfelipetx

Você alimentou o Double com String direto …

Precisa usar um parse , assim

Double db = Double.ParseDouble(String);

o valor de db será um valor valido Double e você vai conseguir imprimi-lo.

Abcs

luizfelipetx

Arrumei o código aqui ele já está rodando ...

Verifica se você consegue equiparar com o seu e depois posta ai...

Um abraço....

public class Teste {

	
	public static void main(String[] args) {
	String linha = "01,44.8,22.35,43.20,100.20";	
	String[] vet  = linha.split(",");
	double[] horasT = {0,0,0,0,0,0,0};
	for (int i = 0; i < vet.length; i++) {
		
		horasT[i] = Double.parseDouble(vet[i]);
	}
		for (int i = 0; i < horasT.length; i++) {
			
			System.out.println(horasT[i]);
		}
		
	}
jaymemattos

Boa noite luizfelipetx

fiz assim e funcionou:

public void actionPerformed(ActionEvent arg0) {
				try{
					FileReader fr = new FileReader("arqTrab");
					BufferedReader br = new BufferedReader(fr);
					String linha;
					int t = 0;
					while((linha = br.readLine())!=null){
						String[] vet = linha.split(",");
					
						
						String hT = vet[1];
						horasTrab = Double.parseDouble(hT);			
						
					
						
	
						System.out.println(horasTrab);	
					
					

					
				}catch(Exception e){
					e.printStackTrace();
				}
			}

Obrigado, funcionou.

luizfelipetx

Blzz…

que bom que ajudou …

abraços…

Criado 7 de junho de 2011
Ultima resposta 7 de jun. de 2011
Respostas 4
Participantes 2