У меня есть 2 метода isArithmetri c и isRelational, оба эти метода используются, чтобы увидеть, принадлежит ли e определенному экземпляру класса (например, если e является типом, подобным 2 + 3, то его в isArithmetri c и является экземпляром Additiona, и если e подобен 3> 2, то он находится в isRelational и является экземпляром GreaterThan). Мне нужно реализовать метод isTypeCorrect, который, как я знаю, использует два метода, упомянутых выше, чтобы увидеть, если используется, возвращает true, если e является одним из двух указанных выше методов, и false в противном случае. Дело в том, что я не знаю, как реализовать isTypeCorrect, я пытался вызвать метод из isTypeCorrect и использовал оператор if, но он не работал. Любая помощь будет оценена.
Код:
private boolean isArithmetic(Expression e) {
return
e instanceof Addition
|| e instanceof Subtraction
|| e instanceof Multiplication;
}
/**
* sub-routine that can be used to check if this is type correct
* true if e is one of the three classes, or their subclasses (if any)
*/
private boolean isRelation(Expression e) {
return
e instanceof Equal
|| e instanceof GreaterThan
|| e instanceof LessThan;
}
/**
* If this collector is AddAll or TimesAll, then all stored expressions must be integer expressions
* (i.e., Addition, Subtraction, Multiplication).
* If this collection is ConjoinAll or DisjoinAll, then all stored expressions must be boolean expressions
* (i.e., GreaterThan, LessThan, Equal)
* @return whether it is possible to evaluate the stored collection of expressions.
*/
boolean isTypeCorrect() {
}