From 3ecd7030ced6ddc5b1d995f42f2b25461ff43428 Mon Sep 17 00:00:00 2001 From: badrr <badr.radellah@etu.univ-amu.fr> Date: Fri, 13 Sep 2024 12:03:10 +0200 Subject: [PATCH] Ex4 - Q2 --- src/main/java/formula/Product.java | 23 ++++++++++++++++------- src/main/java/formula/Sum.java | 24 ++++++++++++++++-------- 2 files changed, 32 insertions(+), 15 deletions(-) diff --git a/src/main/java/formula/Product.java b/src/main/java/formula/Product.java index 71018f5..e3b9498 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 481e3a1..32dc2a9 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; } } - -- GitLab