Sobre o exercicio do valor medio qual seria a melhor maneira de inserir este trecho de código ?
Gostaria de saber se o que implementei esta correto.
Sobre o exercicio do valor medio qual seria a melhor maneira de inserir este trecho de código ?
Gostaria de saber se o que implementei esta correto.
A media simplesmente seria somar todo o conteúdo do array e dividir pelo seu tamanho !?
Até aonde entendi, sim. Além de escrever um teste para validar este número.
Segue a classe Avaliador, com o método que calcula a média (imports omitidos)
public class Avaliador {
private double maiorDeTodos = Double.NEGATIVE_INFINITY;
private double menorDeTodos = Double.POSITIVE_INFINITY;
private double somaDosLances = 0;
private int contadorLances = 0;
public void avalia(Leilao leilao) {
for (Lance lance : leilao.getLances()) {
if (lance.getValor() > maiorDeTodos) {
maiorDeTodos = lance.getValor();
}
if (lance.getValor() < menorDeTodos) {
menorDeTodos = lance.getValor();
}
somaDosLances += lance.getValor();
contadorLances++;
}
}
public double getMaiorLance() {
return maiorDeTodos;
}
public double getMenorLance() {
return menorDeTodos;
}
public double mediaDosLances(){
return somaDosLances / contadorLances;
}
}
Na classe de teste:
// comparando a saida com o esperado
double maiorEsperado = 400;
double menorEsperado = 250;
double mediaEsperada = (250.0+300.0+400.0) / 3;
Assert.assertEquals(maiorEsperado, leiloeiro.getMaiorLance(), 0.0001);
Assert.assertEquals(menorEsperado, leiloeiro.getMenorLance(), 0.0001);
Assert.assertEquals(mediaEsperada, leiloeiro.mediaDosLances(), 0.0001);