package org.singinst.uf.model; import java.util.ArrayList; import java.util.List; import org.singinst.uf.common.StringUtil; import org.singinst.uf.presenter.HtmlUtil; public class MultiplicationCalculation extends Calculation { private final Evaluable[] calculationArray; public MultiplicationCalculation(String description, Evaluable... calculationArray) { super(description, false); this.calculationArray = calculationArray; } @Override public double rawEvaluate(StringBuilder htmlConsole) { double retVal = 1; List readableSubCalculationResultList = new ArrayList(); for (Evaluable subCalculation : calculationArray) { double subCalculationResult = subCalculation.evaluate(htmlConsole); retVal *= subCalculationResult; // String percentage = MathUtil.round(subCalculationResult * 100, 2) + "%"; //FIXME // String str = HtmlUtil.htmlcolorFromColor(((Calculation)subCalculation).getColor(), percentage); String str = HtmlUtil.htmlcolorFromColor(((Calculation)subCalculation).getColor(), StringUtil.formatProbability(subCalculationResult)); readableSubCalculationResultList.add(str); } htmlConsole.append(getDescription() + " = " + StringUtil.join(" * ", readableSubCalculationResultList)); return retVal; } }