Java, преобразовать тернарный оператор в IF ELSE - PullRequest
0 голосов
/ 26 мая 2019

Я уверен, что это что-то повторяет, но все же из-за короткого времени я должен попросить вас прямо помочь.Как преобразовать тернарный оператор (: и?) В оператор IF-ELSE в Java?

public Integer get(Integer index) {
    if (first == null) {
        return null;
    }
    MyNode curNode = first;
    while (index >= 0) {
        if (index == 0) {
            return curNode == null ? null : curNode.getValue();
        } else {
            curNode = curNode == null ? null : curNode.getNext();
            index--;
        }
    }
    return null;
}

То, что я пробовал, но это дало мне неправильный вывод (это все о LinkedList), изменяет его на:

    while (index >= 0) {
        if (index == 0) {
            // pre-modified -> return curNode == null ? null : curNode.getValue();
            if (first == null) {
                return null;
            } else {
                return curNode.getValue();
            }
        } else {
            if (curNode != null) {
                return curNode.getNext().getValue();
                //return null;
            } else {
                return null;
            }
            // pre-modified -> curNode = curNode == null ? null : curNode.getNext();
            // pre-modified -> index--;
        }
    }

1 Ответ

0 голосов
/ 26 мая 2019

В дополнение к этому необходимо было также исправить деталь после:

else {
                if (curNode != null) {
                    curNode = curNode.getNext();
                    index--;
                    //return null;
                } else {
                    curNode = null;
                }
                // pre-modified -> curNode = curNode == null ? null : curNode.getNext();
                // pre-modified -> index--;
            }

Вопрос решен.

...