Duvida em Calculo de Media

8 respostas
L

E ae galera…sou iniciante em Java e tava precisando resolver um exercicio aqui:

Crie uma classe Média contendo um método calculaMédia(int n) que devolve a média dos valores 1,
2, 3, …, n, onde n é o valor absoluto de um número fornecido ao método.
Adicione o método testaCalculaMédia() que testa o método calculaMédia(int n) para diferentes
valores de n.

Nao estou conseguindo montar a logica =/…Sei que tenho que usar o Laço While pra resolver…

Alguma ajuda?!
Vlw

8 Respostas

davidbuzatto

Mas e o valor para calcular a média de onde vem? Esse valor absoluto é p/ ser divido ou é o dividendo? Não entendi.

L

O valor eu atribuo depois…
Quero montar um método “genérico”…
Olha soh um que eu fiz pra calcular o fatorial de um numero:

class Fatorial

{

double calculaFatorial (int x)

{

int a = 1;

int b = x;
while ((x-a)>0)
{
  if (x>0)
    b = b*(x-a);
  a++;
}

if (x<=0)
  System.out.println("Erro. Não foi possível realizar a operação!");
else
  System.out.println("O fatorial deste número é: " + b);
return b;

}

void testaCalculaFatorial (int x, int saida)

{

Fatorial fat = new Fatorial();

fat.calculaFatorial(x);
if (fat.calculaFatorial(x)!=saida)
  System.out.println("O programa está incorreto.");
else
  System.out.println("O programa funcionou corretamente.");

}
}

Quero montar algo do tipo…soh que calculando a Media

T

Ora, a média dos valores de 1 a n é (n + 1) / 2.

Mas acho que você quer calcular a somatória “no braço” para calcular a média, não?

L

Entao kra…eu tava querendo tipo assim:
(1+2+3)/3
(1+2+3+4)/4
(1+2+3+4+5)/5
e por ai vai… ate n…

Só que nao estou conseguindo montar isso…

fsquadro

Lizin,

Veja se este código lhe ajuda

public class Main {   
  
    public static void main(String[] args) {
        String aValor = JOptionPane.showInputDialog("Insira um número:");        
        double aMedia = 0.0;
        for (int i=0; i <= Integer.parseInt(aValor); i++) {
            aMedia = aMedia + i;            
        }
        aMedia = aMedia / Integer.parseInt(aValor);        
        JOptionPane.showMessageDialog(null, String.valueOf(aMedia), "", JOptionPane.INFORMATION_MESSAGE);                
    }
    
}

Espero ter ajudado.

Foxlol

Um for de 1 a N fazendo a soma e depois divide a soma por N !

neohacker

Eu usaria Varargs…

peczenyj

Passa um array de inteiros, vai somando e no fim divide pelo tamanho do array… :wink:

Criado 25 de abril de 2007
Ultima resposta 26 de abr. de 2007
Respostas 8
Participantes 7