OperationBinaire.java
857 Bytes
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
35
36
37
38
39
40
41
package noyau;
import noyau.exception.DivisionByZeroException;
abstract public class OperationBinaire extends Formule {
Case droite;
Case gauche;
abstract public String getFormuleDeveloppe();
abstract public double eval() throws DivisionByZeroException;
public boolean creerCycle(Case uneCase){
if (droite.containFormula() && !gauche.containFormula())
return droite.getFormula().creerCycle(uneCase);
else {
if (!droite.containFormula() && gauche.containFormula())
return gauche.getFormula().creerCycle(uneCase);
else{
if (droite.containFormula() && gauche.containFormula())
return gauche.getFormula().creerCycle(uneCase) && droite.getFormula().creerCycle(uneCase);
else{
return (uneCase.getId()==droite.getId() || uneCase.getId()==gauche.getId());
}
}
}
}
}