Как получить методы length и isEmpty в качестве возвращаемого значения, чтобы получить метод, используемый для моего кругового связанного списка?

Есть проблема, с которой я столкнулся, когда увидел два метода, которые никогда не использовались в связанном списке: Новое обновление!!!

public class CircularLinkedList {

    private ListNode last;
    private int length;

    private static class ListNode {
        private ListNode next;
        private final int data;

        public ListNode(int data) {
            this.data = data;
        }
    }

    public static void main(String[] args) {
        CircularLinkedList cll = new CircularLinkedList();
        CircularLinkedList insertBeg = new CircularLinkedList();
        CircularLinkedList insertEnd = new CircularLinkedList();

        System.out.println("creating a traverse list");
        cll.createCircularLinkedList();
        cll.display();
        System.out.println("Insert Starting Node");
        insertBeg.insertFirst(10);
        insertBeg.insertFirst(15);
        insertBeg.insertFirst(20);
        insertBeg.insertFirst(25);
        insertBeg.display();

        insertEnd.insertLast(25);
        insertEnd.insertLast(20);
        insertEnd.insertLast(15);
        insertEnd.insertLast(10);

        // I just need to print out the isEmpty amd length
        System.out.println(insertEnd.isEmpty());
        System.out.println(insertEnd.length());
        insertEnd.display();
    }

    public CircularLinkedList () {
        last = null;
        length = 0;
    }

    public void display() {
        if(last == null) {
            return;
        }

        ListNode first = last.next;
        while(first != last) {
            System.out.print(first.data + " --> ");
            first = first.next;
        }
        System.out.println(first.data);
    }

    public void insertFirst(int data) {
        ListNode temp = new ListNode(data);
        if (last == null) {
            last = temp;
        } else {
            temp.next = last.next;
        }
        last.next = temp;
        length++;
    }

    public void insertLast(int data) {
        ListNode temp = new ListNode(data);
        if (last == null) {
            last = temp;
            last.next = temp;
        } else {
            temp.next = last.next;
            last.next = temp;
            last = temp;
        }
        length++;
    }

    public int length () {
        ListNode temp = last.next;
        int count = length;
        while (temp != last) {
            count++;
            temp = temp.next;
        }
        return count;
    }

    public boolean isEmpty(){
        return length == 0;
    }

    public void createCircularLinkedList() {
        ListNode first = new ListNode(1);
        ListNode second = new ListNode(5);
        ListNode third = new ListNode(10);
        ListNode fourth = new ListNode(15);

        first.next = second;
        second.next = third;
        third.next = fourth;
        fourth.next = first;

        last = fourth;
    }
}

Я пытаюсь исправить эту проблему для моего кругового связанного списка, пытаясь аннулировать метод. Тем не менее, я хочу проверить и посмотреть, смогу ли я заставить метод работать, распечатав значение для длины и isEmpty. Есть ли способ обойти эту проблему в IntelliJ?

изображение

Возвращаемое значение метода никогда не используется как для длины, так и для isEmpty.


person Sammy Abdulkader    schedule 30.10.2020    source источник
comment
Как сообщается в сообщении, есть возвращаемое значение, но вы абсолютно ничего с ним не делаете. Вы можете присвоить возвращаемое значение переменной: boolean isListEmpty = insertEnd.isEmpty();, а затем распечатать эту переменную... или вы можете просто распечатать возврат метода напрямую, как в System.out.println(insertEnd.isEmpty());   -  person OH GOD SPIDERS    schedule 30.10.2020
comment
@OHGODSPIDERS Спасибо, я почти забыл использовать System.out.println, когда понял это заранее.   -  person Sammy Abdulkader    schedule 30.10.2020


Ответы (1)


Это просто предупреждение о том, что какой-то другой код вызывает метод, но игнорирует результат.

Решение состоит в том, чтобы исправить этот другой код.

person OrangeDog    schedule 30.10.2020