Skip to content
Snippets Groups Projects
Commit 0500363c authored by RADELLAH Badr's avatar RADELLAH Badr
Browse files

Ex4 - Q3

parent 3ecd7030
No related branches found
No related tags found
No related merge requests found
package formula;
public class AbsoluteValue implements Formula {
private Formula formula;
public AbsoluteValue(Formula formula) {
this.formula = formula;
}
@Override
public String asString() {
return "|" + formula.asString() + "|";
}
@Override
public double asValue() {
return Math.abs(formula.asValue());
}
}
package formula;
public class Maximum implements Formula {
private Formula[] formulas;
public Maximum(Formula... formulas) {
this.formulas = formulas;
}
@Override
public String asString() {
StringBuilder sb = new StringBuilder("max(");
for (int i = 0; i < formulas.length; i++) {
sb.append(formulas[i].asString());
if (i < formulas.length - 1) sb.append(", ");
}
sb.append(")");
return sb.toString();
}
@Override
public double asValue() {
double max = -Double.MAX_VALUE;
for (Formula formula : formulas) {
max = Math.max(max, formula.asValue());
}
return max;
}
}
package formula;
public class Minimum implements Formula {
private Formula[] formulas;
public Minimum(Formula... formulas) {
this.formulas = formulas;
}
@Override
public String asString() {
StringBuilder sb = new StringBuilder("min(");
for (int i = 0; i < formulas.length; i++) {
sb.append(formulas[i].asString());
if (i < formulas.length - 1) sb.append(", ");
}
sb.append(")");
return sb.toString();
}
@Override
public double asValue() {
double min = Double.MAX_VALUE;
for (Formula formula : formulas) {
min = Math.min(min, formula.asValue());
}
return min;
}
}
package formula;
public class Power implements Formula {
private Formula formula;
private int exponent;
public Power(Formula formula, int exponent) {
this.formula = formula;
this.exponent = exponent;
}
@Override
public String asString() {
return "(" + formula.asString() + ")^" + exponent;
}
@Override
public double asValue() {
return Math.pow(formula.asValue(), exponent);
}
}
......@@ -9,12 +9,11 @@ public class Square implements Formula {
@Override
public String asString() {
return "(" + formula.asString() + "^2)";
return "(" + formula.asString() + ")²";
}
@Override
public double asValue() {
return Math.pow(formula.asValue(), 2);
}
}
package formula;
public class SquareRoot implements Formula {
private Formula formula;
public SquareRoot(Formula formula) {
this.formula = formula;
}
@Override
public String asString() {
return "√(" + formula.asString() + ")";
}
@Override
public double asValue() {
return Math.sqrt(formula.asValue());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment