Abrir Arquivo TXT

5 respostas
juninhoall

Boa noite, estou com a seguinte duvida,
Desenvolvi um algoritimo para me dar alguns resultados de calculos
segue o algoritimo

package br.org.catolicasc.luiz.almeida.junior.program;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

/**
 *
 * @author Luiz Almeida Júnior
 */
public class Aplicativo {
static String linha;
    static String[] split;
    static int variancia;
    static ArrayList<String> a = new ArrayList<String>();
    static Scanner input = new Scanner(System.in);

    /**
     * Ler Arquivo .txt
     */
    public static void Ler() {

        System.out.print("Informe o nome de arquivo texto.: ");
        linha = input.nextLine();

        try {
            FileReader arq = new FileReader(linha);
            BufferedReader lerArq = new BufferedReader(arq);
            linha = lerArq.readLine();

            split = linha.split(" ");
            a.add(linha);
            arq.close();

        } catch (IOException e) {
            System.err.printf("Erro na abertura do arquivo \n", e.getMessage() + "!");
        }
    }

    /**
     * Converte para String
     */
    public static int Convert(String[] split, int a) {
        int result = Integer.parseInt(split[a]);
        return result;
    }

    /**
     * Ordenar Vetor
     */
    public static void Rol() {
        Arrays.sort(split);
        System.out.print("Rol.: ");
        Imprimir();
    }

    /**
     * Calcular a Variancia
     */
    public static void Variancia() {
        int i = 0;
        variancia = 0;
        while (i < split.length) {
            variancia += (Convert(split, i) * Convert(split, i));
            i++;
        }
        variancia = variancia / split.length;
        System.out.println("O valor de variancia dos dados é: \n" + variancia);
    }

    /**
     * Calcular a Média
     */
    public static void Media() {
        int media = 0;
        for (int i = 0; i < split.length; i++) {
            media = media + Convert(split, i);
        }

        media = (media / split.length);
        System.out.print("Valor da média.: " + media);
    }

    /**
     * Calcular a Mediana
     */
    public static void Mediana() {
        int esq = 0;
        int dir = split.length - 1;
        int meio;
        meio = (esq + dir) / 2;
        int mediana = Convert(split, meio);
        System.out.println("Valor da mediana dos dados é: \n" + mediana);

    }

    /**
     * Calcular a Amplitude
     */
    public static void Amplitude() {
        int amplitude;
        int i = 0;
        int menor = Convert(split, 0);
        int maior = Convert(split, i);
        while (i < split.length) {
            if (maior <= maior) {
                maior = Convert(split, i);
            }
            i++;
        }
        amplitude = maior - menor;
        System.out.println("Valor da amplitude dos dados é: \n" + amplitude);
    }

    /**
     * Calcular o Desvio Padrão
     */
    public static void DesvioPadrao() {
        double desvio = (Math.sqrt(variancia));
        System.out.println("O valor de desvio padrão dos dados é: \n" + desvio);
    }

    /**
     * Método de imprimir
     */
    public static void Imprimir() {
        int i = 0;
        while (i < split.length) {
            System.out.println(split[i]);
            i++;
        }
    }
}

o meu método Ler não está achando meu arquivo, debuguei meu código mas não consegui achar o erro, alguém pode me ajudar ?

minha classe de teste seria essa

package br.org.catolicasc.luiz.almeida.junior.program;

import static br.org.catolicasc.luiz.almeida.junior.program.Aplicativo.Amplitude;
import static br.org.catolicasc.luiz.almeida.junior.program.Aplicativo.DesvioPadrao;
import static br.org.catolicasc.luiz.almeida.junior.program.Aplicativo.Imprimir;
import static br.org.catolicasc.luiz.almeida.junior.program.Aplicativo.Ler;
import static br.org.catolicasc.luiz.almeida.junior.program.Aplicativo.Media;
import static br.org.catolicasc.luiz.almeida.junior.program.Aplicativo.Mediana;
import static br.org.catolicasc.luiz.almeida.junior.program.Aplicativo.Rol;
import static br.org.catolicasc.luiz.almeida.junior.program.Aplicativo.Variancia;

/**
 *
 * @author Luiz Almeida Júnior
 */
public class Program {

    public static void main(String []args){
        Ler();
        Imprimir();
        Rol();
        Media();
        Mediana();
        Amplitude();
        Variancia();
        DesvioPadrao();
    }
}

o erro é o seguinte, não consegue achar o arquivo.txt

5 Respostas

G

O que você passa aqui, onde está localizado o arquivo e qual S.O voce está usando? Windows?

System.out.print("Informe o nome de arquivo texto.: ");  
linha = input.nextLine();

aqui você lê apenas uma linha, é isso mesmo que voce quer ?

try {  
            FileReader arq = new FileReader(linha);  
            BufferedReader lerArq = new BufferedReader(arq);  
            linha = lerArq.readLine();  
  
            split = linha.split(" ");  
            a.add(linha);  
            arq.close();  
  
        } catch (IOException e) {  
            System.err.printf("Erro na abertura do arquivo \n", e.getMessage() + "!");  
        }
juninhoall
gejava:
O que você passa aqui, onde está localizado o arquivo e qual S.O voce está usando? Windows?
System.out.print("Informe o nome de arquivo texto.: ");  
linha = input.nextLine();

aqui você lê apenas uma linha, é isso mesmo que voce quer ?

try {  
            FileReader arq = new FileReader(linha);  
            BufferedReader lerArq = new BufferedReader(arq);  
            linha = lerArq.readLine();  
  
            split = linha.split(" ");  
            a.add(linha);  
            arq.close();  
  
        } catch (IOException e) {  
            System.err.printf("Erro na abertura do arquivo \n", e.getMessage() + "!");  
        }

bah, resolvi meu problema, eu não estava colocando na pasta do projeto, mas muito obrigado pelo interesse em ajudar.

juninhoall
package br.org.catolicasc.luiz.almeida.junior.program;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

/**
 *
 * @author Luiz Almeida Júnior
 */
public class Aplicativo {

    static String entradaLinha;
    static String[] var;
    static int variancia;
    static ArrayList<String> arrayOrdem = new ArrayList<String>();
    static Scanner input = new Scanner(System.in);

    /**
     * Ler Arquivo .txt
     */
    public static void Ler() {

        System.out.print("Informe o nome de arquivo texto.: ");
        entradaLinha = input.nextLine();

        try {
            FileReader arq = new FileReader(entradaLinha);
            BufferedReader lerArq = new BufferedReader(arq);
            entradaLinha = lerArq.readLine();

            var = entradaLinha.split(" ");

            arrayOrdem.add(entradaLinha);
            arq.close();

        } catch (IOException e) {
            System.err.printf("Erro na abertura do arquivo \n", e.getMessage() + "!");
        }
    }

    /**
     * Converte para String
     */
    public static int Convert(String[] split, int parametro) {
        int conversao = Integer.parseInt(split[parametro]);
        return conversao;
    }

    /**
     * Ordenar Vetor
     */
    public static void Rol() {
        Arrays.sort(var);
        System.out.print("Rol.............................: ");
        Imprimir();
    }

    /**
     * Calcular arrayOrdem Média
     */
    public static void Media() {
        int media = 0;
        for (int index = 0; index < var.length; index++) {
            media = media + Convert(var, index);
        }
        media = (media / var.length);
        System.out.print("\nMédia...........................: " + media);
    }

    /**
     * Calcular arrayOrdem Mediana
     */
    public static void Mediana() {
        int esquerda = 0;
        int direita = var.length - 1;
        int meio;
        meio = (esquerda + direita) / 2;
        int mediana = Convert(var, meio);
        System.out.println("\nMediana.........................: " + mediana);
    }

    /**
     * Calcular arrayOrdem Amplitude
     */
    public static void Amplitude() {
        int amplitude;
        int index = 0;
        int menor = Convert(var, 0);
        int maior = Convert(var, index);
        while (index < var.length) {
            if (maior <= maior) {
                maior = Convert(var, index);
            }
            index++;
        }
        amplitude = maior - menor;
        System.out.println("Amplitude.......................: " + amplitude);
    }

    /**
     * Calcular arrayOrdem Variancia
     */
    public static void Variancia() {
        variancia = 0;
        for (int index = 0; index < var.length; index++) {
            variancia = Convert(var, index) * Convert(var, index);
        }
        variancia = (variancia / var.length) - 276;
        System.out.println("Variancia.......................: " + variancia);
    }

    /**
     * Calcular o Desvio Padrão
     */
    public static void DesvioPadrao() {
        double desvioPadrao = (Math.sqrt(variancia));
        System.out.println("Desvio Padrão...................: " + desvioPadrao);
    }

    /**
     * Método de imprimir
     */
    public static void Imprimir() {
        for (int i = 0; i < var.length; i++) {
            System.out.print(var[i] + ", ");
        }
    }
}

Agora estou tendo problemas com a Variancia, mas isso já é lógica, vou resolver \o
obrigado forum

A
juninhoall:
package br.org.catolicasc.luiz.almeida.junior.program;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

/**
 *
 * @author Luiz Almeida Júnior
 */
public class Aplicativo {

    static String entradaLinha;
    static String[] var;
    static int variancia;
    static ArrayList<String> arrayOrdem = new ArrayList<String>();
    static Scanner input = new Scanner(System.in);

    /**
     * Ler Arquivo .txt
     */
    public static void Ler() {

        System.out.print("Informe o nome de arquivo texto.: ");
        entradaLinha = input.nextLine();

        try {
            FileReader arq = new FileReader(entradaLinha);
            BufferedReader lerArq = new BufferedReader(arq);
            entradaLinha = lerArq.readLine();

            var = entradaLinha.split(" ");

            arrayOrdem.add(entradaLinha);
            arq.close();

        } catch (IOException e) {
            System.err.printf("Erro na abertura do arquivo \n", e.getMessage() + "!");
        }
    }

    /**
     * Converte para String
     */
    public static int Convert(String[] split, int parametro) {
        int conversao = Integer.parseInt(split[parametro]);
        return conversao;
    }

    /**
     * Ordenar Vetor
     */
    public static void Rol() {
        Arrays.sort(var);
        System.out.print("Rol.............................: ");
        Imprimir();
    }

    /**
     * Calcular arrayOrdem Média
     */
    public static void Media() {
        int media = 0;
        for (int index = 0; index < var.length; index++) {
            media = media + Convert(var, index);
        }
        media = (media / var.length);
        System.out.print("\nMédia...........................: " + media);
    }

    /**
     * Calcular arrayOrdem Mediana
     */
    public static void Mediana() {
        int esquerda = 0;
        int direita = var.length - 1;
        int meio;
        meio = (esquerda + direita) / 2;
        int mediana = Convert(var, meio);
        System.out.println("\nMediana.........................: " + mediana);
    }

    /**
     * Calcular arrayOrdem Amplitude
     */
    public static void Amplitude() {
        int amplitude;
        int index = 0;
        int menor = Convert(var, 0);
        int maior = Convert(var, index);
        while (index < var.length) {
            if (maior <= maior) {
                maior = Convert(var, index);
            }
            index++;
        }
        amplitude = maior - menor;
        System.out.println("Amplitude.......................: " + amplitude);
    }

    /**
     * Calcular arrayOrdem Variancia
     */
    public static void Variancia() {
        variancia = 0;
        for (int index = 0; index < var.length; index++) {
            variancia = Convert(var, index) * Convert(var, index);
        }
        variancia = (variancia / var.length) - 276;
        System.out.println("Variancia.......................: " + variancia);
    }

    /**
     * Calcular o Desvio Padrão
     */
    public static void DesvioPadrao() {
        double desvioPadrao = (Math.sqrt(variancia));
        System.out.println("Desvio Padrão...................: " + desvioPadrao);
    }

    /**
     * Método de imprimir
     */
    public static void Imprimir() {
        for (int i = 0; i < var.length; i++) {
            System.out.print(var[i] + ", ");
        }
    }
}

Agora estou tendo problemas com a Variancia, mas isso já é lógica, vou resolver \o
obrigado forum

Boa tarde !!...

Não apenas o seu método Variancia que tem problemas, seu método Mediana também não corresponde,
simplifique seu método Amplitude.
Siga as convenções de nomenclatura de métodos...

Até..

juninhoall
andy11x:
juninhoall:
package br.org.catolicasc.luiz.almeida.junior.program;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

/**
 *
 * @author Luiz Almeida Júnior
 */
public class Aplicativo {

    static String entradaLinha;
    static String[] var;
    static int variancia;
    static ArrayList<String> arrayOrdem = new ArrayList<String>();
    static Scanner input = new Scanner(System.in);

    /**
     * Ler Arquivo .txt
     */
    public static void Ler() {

        System.out.print("Informe o nome de arquivo texto.: ");
        entradaLinha = input.nextLine();

        try {
            FileReader arq = new FileReader(entradaLinha);
            BufferedReader lerArq = new BufferedReader(arq);
            entradaLinha = lerArq.readLine();

            var = entradaLinha.split(" ");

            arrayOrdem.add(entradaLinha);
            arq.close();

        } catch (IOException e) {
            System.err.printf("Erro na abertura do arquivo \n", e.getMessage() + "!");
        }
    }

    /**
     * Converte para String
     */
    public static int Convert(String[] split, int parametro) {
        int conversao = Integer.parseInt(split[parametro]);
        return conversao;
    }

    /**
     * Ordenar Vetor
     */
    public static void Rol() {
        Arrays.sort(var);
        System.out.print("Rol.............................: ");
        Imprimir();
    }

    /**
     * Calcular arrayOrdem Média
     */
    public static void Media() {
        int media = 0;
        for (int index = 0; index < var.length; index++) {
            media = media + Convert(var, index);
        }
        media = (media / var.length);
        System.out.print("\nMédia...........................: " + media);
    }

    /**
     * Calcular arrayOrdem Mediana
     */
    public static void Mediana() {
        int esquerda = 0;
        int direita = var.length - 1;
        int meio;
        meio = (esquerda + direita) / 2;
        int mediana = Convert(var, meio);
        System.out.println("\nMediana.........................: " + mediana);
    }

    /**
     * Calcular arrayOrdem Amplitude
     */
    public static void Amplitude() {
        int amplitude;
        int index = 0;
        int menor = Convert(var, 0);
        int maior = Convert(var, index);
        while (index < var.length) {
            if (maior <= maior) {
                maior = Convert(var, index);
            }
            index++;
        }
        amplitude = maior - menor;
        System.out.println("Amplitude.......................: " + amplitude);
    }

    /**
     * Calcular arrayOrdem Variancia
     */
    public static void Variancia() {
        variancia = 0;
        for (int index = 0; index < var.length; index++) {
            variancia = Convert(var, index) * Convert(var, index);
        }
        variancia = (variancia / var.length) - 276;
        System.out.println("Variancia.......................: " + variancia);
    }

    /**
     * Calcular o Desvio Padrão
     */
    public static void DesvioPadrao() {
        double desvioPadrao = (Math.sqrt(variancia));
        System.out.println("Desvio Padrão...................: " + desvioPadrao);
    }

    /**
     * Método de imprimir
     */
    public static void Imprimir() {
        for (int i = 0; i < var.length; i++) {
            System.out.print(var[i] + ", ");
        }
    }
}

Agora estou tendo problemas com a Variancia, mas isso já é lógica, vou resolver \o
obrigado forum

Boa tarde !!...

Não apenas o seu método Variancia que tem problemas, seu método Mediana também não corresponde,
simplifique seu método Amplitude.
Siga as convenções de nomenclatura de métodos...

Até..


Não tinha reparado nesse detalhe, mas, irei alterar

Criado 12 de junho de 2014
Ultima resposta 16 de jun. de 2014
Respostas 5
Participantes 3