Ваша реализация должна понравиться:
public boolean equals2(Object object2) {
if(a.equals(object2.a)) {
return true;
}
else return false;
}
С этой реализацией ваши оба метода будут работать.
Пользовательская задача требует пользовательского речевого механизма в Вашем случае с пользовательским механизмом, можно получить намного более точное соответствие путем конфигурирования ожидаемых слов.
10 вариантов не помогут Вам. Если у Вас есть всего 2 варианта декодирования в предложении 10 слов, необходимо получить 1 024 различных результата декодирования. У Вас должны быть они в более компактной форме сети беспорядка или решетки.