-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
34 lines (30 loc) · 1.06 KB
/
Copy pathMain.java
File metadata and controls
34 lines (30 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import strategy.Calculator;
import strategy.MathStrategy;
import strategy.impl.Addition;
import strategy.impl.Division;
import strategy.impl.Multiplication;
import strategy.impl.Subtraction;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Calculator calculator = new Calculator();
Random random = new Random();
for (MathStrategy.Operation operation : MathStrategy.Operation.values()) {
switch (operation) {
case ADD:
calculator.setMathStrategy(new Addition());
break;
case SUBTRACT:
calculator.setMathStrategy(new Subtraction());
break;
case MULTIPLY:
calculator.setMathStrategy(new Multiplication());
break;
default:
calculator.setMathStrategy(new Division());
break;
}
calculator.calculate(random.nextDouble(), random.nextDouble());
}
}
}