Java — Замена дочерних узлов На основе переданного значения (BST)

#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() что вызывается и вызывает побочные эффекты, которые присутствуют в этом тесте, но мы не можем сказать, какие из них даны в этом коде.