CSE-8B / PA6 / starter / Implication.java
Implication.java
Raw
//File: Implication.java
//Name: Trai Pham
//Date: 02/16/2020
//Course: CSE 8B
/**
Not sure what Negation does
*/

public class Implication extends BooleanExpression{
  public Implication(BooleanExpression var1, BooleanExpression var2){
    this.a = var1;
    this.b = var2;
  }

  public Value evaluate(){
//operand error
    if(!(this.a instanceof BooleanExpression) ||
    !(this.b instanceof BooleanExpression)){
      return null;
    }
    if(this.a == null || this.b == null){
      return null;
    }
//declaring variables
  Value test01 = this.a.evaluate();
  Value test02 = this.b.evaluate();

  Value compare01;
  if(((BooleanValue)test01).boolEvaluate()==false &&
  ((BooleanValue)test02).boolEvaluate() == false){
    compare01 = new BooleanValue(true);
    return compare01;
  }
  if(((BooleanValue)test01).boolEvaluate() == false &&
  ((BooleanValue)test02).boolEvaluate() == true){
    compare01 = new BooleanValue(true);
    return compare01;
  }
  if(((BooleanValue)test01).boolEvaluate() == true &&
  ((BooleanValue)test02).boolEvaluate() == false){
    compare01 = new BooleanValue(false);
    return compare01;
  }
  else{
    compare01 = new BooleanValue(true);
    return compare01;
  }
  }
}