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 ?
@author Luiz Almeida Júnior
*/
public class Aplicativo {
static String entradaLinha;
static String[] var;
static int variancia;
static ArrayList arrayOrdem = new ArrayList();
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;
}
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 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] + ", ");
}
}
}
[/code]
Agora estou tendo problemas com a Variancia, mas isso já é lógica, vou resolver \o
obrigado forum[/quote]
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…
@author Luiz Almeida Júnior
*/
public class Aplicativo {
static String entradaLinha;
static String[] var;
static int variancia;
static ArrayList arrayOrdem = new ArrayList();
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;
}
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 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] + ", ");
}
}
}
[/code]
Agora estou tendo problemas com a Variancia, mas isso já é lógica, vou resolver \o
obrigado forum[/quote]
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é…
[/quote]
Não tinha reparado nesse detalhe, mas, irei alterar