#java #binary-search-tree #nodes
Вопрос:
Я пытаюсь сравнить переданную переменную (дочернюю)с переменными-членами «leftChild» и «rightChild». Какая бы из этих переменных ни соответствовала переданной «дочерней» переменной, я хочу установить для нее значение «замена», которое передается. Мой код и ошибка представлены ниже. Я продолжаю получать ошибку, которая на самом деле является «нулевой», в отличие от compositenode. Это мой первый курс java, и мне трудно разобраться в нем. Я приношу извинения, если я пропустил какие-либо ключевые требования/информацию в своем вопросе.
public void replace(Node child, Node replacement) {
if (child.equals(leftChild)) {
this.leftChild = replacement;
}
if (child.equals(rightChild)) {
this.rightChild = replacement;
}
}
Комментарии:
1. Нам будет важно знать, что делает ваш тестовый код, чтобы понять
null
, откуда берется значение. Ясно,replace()
что вызывается и вызывает побочные эффекты, которые присутствуют в этом тесте, но мы не можем сказать, какие из них даны в этом коде.