OperationBinaire.java 857 Bytes
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());
				}				
			}		
					
		}	
		

			
			
			
	
	}
}