Calculo da média e mediana dos salários?

Olá pessoal.
Gostaria de algumas dicas para tentar resolver um exercício da facul, alguém pode me ajudar?
No caso, eu estou iniciando em java e não sei quase nada da sintaxe. O que eu tenho que fazer é criar uma matriz com uma estrutura pessoa, que tenha nome, cpf, salario e desconto. Nisso preencher a matriz na ordem de 70x100 e fazer um calculo para que me traga:
Média dos salários com desconto
Média dos salários sem desconto
Mediana dos salários com desconto
Mediana dos salários sem desconto
Na seguintes condições:
Que o salário seja: 300,00 &lt Salario &lt 10.000,00
E o desconto: 7% &lt Desconto &lt 28%

Eu fiz pouca coisa, mas estou em dúvida em como poderia preencher a matriz toda sem utilizar o random e se faria duas funções, uma para calcular a média dos salários com e sem desconto e outra para calcular a mediana dos salários com e sem desconto, ou poderia fazer com apenas uma função? Alguém teria alguma idéia?
Segue abaixo o meu código:

[code]import java.util.Random;

class ePessoa {
String nome;
int cpf;
double salario;
double desconto;
}

public class pessoa {

/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	Random rnd = new Random();
	
	ePessoa matPessoas[][] = new ePessoa[70][100];
	
	for (int l = 0; l &lt matPessoas.length; l++) {
		for (int c = 0; c &lt matPessoas[l].length; c++) {
			
		}
	}
	calcMediaMediana(matPessoas);
	
	System.out.println("Média dos salários com desconto: ");
	System.out.println("Média dos salários sem desconto: ");
	System.out.println("Mediana dos salários com desconto: ");
	System.out.println("Mediana dos salários sem desconto: ");
	
}

private static void calcMediaMediana(ePessoa people[][]){

	// condição para salário: 300,00 &lt Salario &lt 10.000,00
	// condição para desconto: 7% &lt Desconto &lt 28%
	// achar média e mediana dos salários com e sem desconto
	
}

}[/code]

Não entendi pq precisa da matriz , um array simples é muito melhor .

Coloque a logica de desconte dentro da classe pessoa
Seria bom tb implementar mais algum encapsulamento
(Nota: CPF não é um inteiro)

class ePessoa {
    String nome;
    String cpf;
    double salario;
    double desconto;

    public double salarioBase(){
         return salario;
   }

   public double salarioComDesconto(){
        if (salario&gt=300d && salario &lt=1000d ){
             return salario * desconto ; // estou supondo que desconto é um percentual já calculado
        } 
         return salario;
   }

}

Use array simples

média:
percorra todas as pessoas no array e some os salários, divida no fim pelo numero de pessoa (array.length)

mediana:
ordene o array de pessoa com base no salario. Use a classe Arrays e crie um Comparator
Se o numero de pessoa é impar a mediana é o valor do salário da pessoa no array ordenado com indice ((array.length +1)/2 -1)
Se for par é a média dos salários nas posições (array.length/2-1) e (array.length/2)

cria uma collection depois percorre com um for each e divide pelo size é bem melhor de trabalhar

Galera tou precisando calcular a media e o desvio padrao dos dados (floats) dum dado ficheiro!!

Mas não tou conseguindo :frowning: Sou novo nestas andanças e entao ainda nao domino mt bem ficheiros :frowning:

Mt Obrigado

[quote=BrunoNave]Galera tou precisando calcular a media e o desvio padrao dos dados (floats) dum dado ficheiro!!

Mas não tou conseguindo :frowning: Sou novo nestas andanças e entao ainda nao domino mt bem ficheiros :frowning:

[/quote]

Acesso a arquivos é feito com FileInputStream para ler e FileOutputStream para escrever.

A leitura é feita com um Reader. BufferedReader é aconselhado para ler linha a linha.

supondo que o seu arquivo tem um dado por linha assim:

2.3
5.78
8.3
3.45

eis o codigo para leitura


public List<Double> readFile ( String caminhoDoArquivo ){

  // lista para colocar os valores
      List<Double> valores = new ArrayList<Double>(); 

    // repare na composição de streams
       BufferedReader reader = new BufferedReader (new InputStreamReader(new FileInputStream(caminhoDoArquivo )));

 try {
  String line;
  while ((line = reader.readLine())!=null){
        // a linha contém a string do numero. precisamos converter ara double

        double d = Double.parseDouble(linha.trim());
             valores.add(d);

  }
return valores;
 } finally {
  reader.close();
  }
} 

Com a lista de valores é facil calcular a média ( soma todos e divide pelo numero de elementos)

Amigo não tenho muita experiencia em relação a Java não mas acho q essa linguagem de codigo ai te ajuda em sua duvida. abração.

import javax.swing.JOptionPane;
public class MediaNota {

public static void main(String[] args) {

float Nota1 = 0;

float Nota2 = 0;

float Nota3 = 0;

float Nota4 = 0;

float Nota5 = 0;

float Nota6 = 0;

float mediaNota = 0;

float total = 0;

// lendo as notas
Nota1 = Float.parseFloat(JOptionPane.showInputDialog(null,“Informe a nota de portugues”,“Informe a nota de portugues”,JOptionPane.QUESTION_MESSAGE));
Nota2 = Float.parseFloat(JOptionPane.showInputDialog(null,“Informe a nota de matematica”,“Informe a nota de matematica”,JOptionPane.QUESTION_MESSAGE));
Nota3 = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe a nota de Ciencias ",“Número de Ciencias”,JOptionPane.QUESTION_MESSAGE));
Nota4 = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe a nota de Fisica ",“Número de Fisica”,JOptionPane.QUESTION_MESSAGE));
Nota5 = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe a nota de Geografia ",“Número de Geografia”,JOptionPane.QUESTION_MESSAGE));
Nota6 = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe a nota de Historia ",“Número de Historia”,JOptionPane.QUESTION_MESSAGE));

// calculando as notas
total = Nota1 + Nota2 + Nota3 + Nota4 + Nota5 + Nota6;

// calculando a media das notas
mediaNota = total / 6;

// imprimindo as a media
JOptionPane.showMessageDialog(null,"Média de suas nota: " + mediaNota);

System.exit(0);

}

}