Конструктор не определен, говорит Eclipse, но он определен (Java)

1

Я не понимаю, почему этот конструктор не определен. Здесь я проверяю некоторые другие подобные вопросы, но всегда была проблема, что они хотели вызвать конструктор без параметров, в то время как у конструктора были параметры. Но я не вижу этой проблемы в своем коде. Не могли бы вы мне помочь? Спасибо!

Я получаю сообщение об ошибке: The constructor Node(int) is undefined


Класс с основным методом:

package LLP;

public class LinkedList2Test {

public void main (String args[]){
    LinkedList2 test = new LinkedList2();

    test.add(13);
    test.add(10);
    test.add(21);
}
}

Класс LinkedList2

package LLP;

public class LinkedList2 {

Node head;
Node tail;

public void add(int data){

    **Node node = new Node(data);**// **THE PROBLEM is here**

    if (tail == null){
        tail = node;
        head = node;
    } else {
        tail.nextNode = node;
        tail=node;
    }
}
}

Класс Node

package LLP;

public class Node {
int data;
Node nextNode;

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

Как я вижу, в основном методе я даю целое число, например "13". Метод add получает это целое число и называет его "данными". И я хотел бы создать узел с этим "данным". Конструктор Node должен иметь только одно целое число, которое будет "данными", так что теперь 13, например

Почему это не работает, я не понимаю...

Большое спасибо

Теги:

5 ответов

2
Лучший ответ

Он должен работать. Я думаю, это может быть так, что вы не сохранили свой класс Node после того, как вы предоставили конструктор, следовательно, ошибку.

Также как @mypal125 вам, вероятно, нужен static основной метод в вашем классе LinkedList2Test. После изменения этой попытки попробуйте запустить (запустив также автоматически сохраняет все изменения) вашу программу и посмотреть, есть ли еще ошибка.

3

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

Ctrl + X

Ctrl + v

  • 0
    Какой смысл копировать строку, когда вы обрезаете ее сразу после этого?
  • 0
    У меня это сработало не раз. Я предполагаю, что это проблема разбора Eclipse ...
Показать ещё 3 комментария
0

В eclipse появилась ошибка "Узел конструктора (int) не определен" после того, как я щелкнул правой кнопкой мыши папку и выбрал "Путь сборки" → "Использовать как исходную папку". Чтобы исправить эту проблему, я сделал следующие шаги:

  1. Переименуйте пакет, содержащий класс с ошибкой
  2. Создать новую папку, используя старое имя папки (пакета)
  3. Создайте любые существующие подпапки в только что созданной папке
  4. Переместите старый класс (классы) из переименованного пакета на его законное место в новой структуре папок.
  5. Как только все классы были перемещены из переименованного пакета в новую структуру папок, удалите пакет
  6. Выполнить проект → Очистить
0

Кажется, это сбой с Eclipse. Для меня это произошло после переименования создаваемого класса и рефакторинга.

Для меня Ctrl-x Ctrl-v работал только временно.

Для меня работала закрытие вкладки "Редактор" экземпляра класса. Фактически, закрытие всех вкладок в редакторе Eclipse (и повторное открытие тех, которые вам нужны), похоже, устраняет путаницу Eclipse.

0

В классе LinkedList2 отсутствует конструктор.

Добавьте это в свой класс LinkedList2:

public LinkedList2(int data){ }
  • 1
    Это не проблема. Он нигде не использует такой конструктор.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню