diff --git a/src/main/java/formula/Product.java b/src/main/java/formula/Product.java index 71018f56b0af701eeedc05743004fc448a61cb95..e3b9498682b968f638db83909e9631a9e9d6941f 100644 --- a/src/main/java/formula/Product.java +++ b/src/main/java/formula/Product.java @@ -1,21 +1,30 @@ package formula; public class Product implements Formula { - private Formula x; - private Formula y; + private Formula[] formulas; - public Product(Formula x, Formula y) { - this.x = x; - this.y = y; + // Constructeur prenant un tableau de formules + public Product(Formula... formulas) { + this.formulas = formulas; } @Override public String asString() { - return "(" + x.asString() + "*" + y.asString() + ")"; + StringBuilder sb = new StringBuilder("("); + for (int i = 0; i < formulas.length; i++) { + sb.append(formulas[i].asString()); + if (i < formulas.length - 1) sb.append("*"); // Ajouter un "*" entre les formules + } + sb.append(")"); + return sb.toString(); } @Override public double asValue() { - return x.asValue() * y.asValue(); + double product = 1; + for (Formula formula : formulas) { + product *= formula.asValue(); + } + return product; } } diff --git a/src/main/java/formula/Sum.java b/src/main/java/formula/Sum.java index 481e3a14adcb2705a47148dd8cc263c50ec5ed8c..32dc2a991fef164fece6f1a5dccd51c30040300f 100644 --- a/src/main/java/formula/Sum.java +++ b/src/main/java/formula/Sum.java @@ -1,22 +1,30 @@ package formula; public class Sum implements Formula { - private Formula x; - private Formula y; + private Formula[] formulas; - public Sum(Formula x, Formula y) { - this.x = x; - this.y = y; + // Constructeur prenant un tableau de formules + public Sum(Formula... formulas) { + this.formulas = formulas; } @Override public String asString() { - return "(" + x.asString() + "+" + y.asString() + ")"; + StringBuilder sb = new StringBuilder("("); + for (int i = 0; i < formulas.length; i++) { + sb.append(formulas[i].asString()); + if (i < formulas.length - 1) sb.append("+"); // Ajouter un "+" entre les formules + } + sb.append(")"); + return sb.toString(); } @Override public double asValue() { - return x.asValue() + y.asValue(); + double sum = 0; + for (Formula formula : formulas) { + sum += formula.asValue(); + } + return sum; } } -