1
resposta

The Nested Weighted Average Algorithm

Bom Dia ! Estou tendo dificuldade para implementar esse algoritmo alguém já trabalhou com isso ? Algoritmo da Média Ponderada (WAA). Cada elemento da fórmula pode ser o resultado de outro cálculo do WWA.

Given the current class:
public class WeightedGrade {
public Float grade = null;
public Float weight = 0F;

 List<WeightedGrade> childGrades = null;

public WeightedGrade() {
this.weight = 1F;
}
public WeightedGrade((Float grade, Float weight) {
this.grade = grade;
this.weight = weight;
}

public WeightedGrade(Float grade, Float weight, List<WeightedGrade)  childGrades) {
    this.grade = grade;
this.weight = weight;
this.childGrades = childGrades;
}
Implement the WeightedGradeAverage calculator:

class WeightedGradeAverage {
public static Float average(WeightedGrade weightedGrade) {

                //TODO:   
}
}
Which should pass the following test (at least)
WeightedGrade a1 = new WeightedGrade(100, 1)
WeightedGrade a2 = new WeightedGrade(null, 3)
WeightedGrade a3 = new WeightedGrade(30, 1)
WeightedGrade b1 = new WeightedGrade(20, 4)
WeightedGrade b2 = new WeightedGrade(100, 2)

WeightedGrade a = new WeightedGrade(null, 20)
a.childGrades = Arrays.asList(a1, a2, a3)

WeightedGrade b = new WeightedGrade(null, 4)
b.childGrades = Arrays.asList(a1, a2, a3)

WeightedGrade c = new WeightedGrade(100, 2)
WeightedGrade evaluation = new WeightedGrade()

evaluation.add(a)
evaluation.add(b)
evaluation.add©

assertEquals(WeightedGradeAverage.average(a), 65)
assertEquals(WeightedGradeAverage.average(b), 20)
assertEquals(WeightedGradeAverage.average©, 100)
assertEquals(WeightedGradeAverage.average(evaluation), 60.7692307692)
1 resposta

Oi Elan, tudo bem? Estou vendo se alguém pode te ajudar com essa questão, mas como o tópico já está aberto faz dias, queria saber se você teve algum progresso durante esse tempo. Ainda precisa de ajuda?