Lo que estoy tratando de hacer es atravesar la lista de enlaces y luego imprimir. Intenté andar en Google lo que podría estar equivocado, pero no hay suerte hasta ahora. Ya me disculpo si esta es una pregunta estúpida.

import java.util.LinkedList;

public class Main {
    Node head;
    static class Node{
        int data;
        Node next;
        Node( int d ) {
            this.data = d;
            next = null;
        }
    }

    public void printList(){
        Node n = head;
        while(n != null) {
            System.out.print(n.data + " ");
            n = n.next;
        }
    }

    public static void main(String[] args) {
        LinkedList llist = new LinkedList();
        llist.head = new Node(1);
        Node second = new Node(2);
        Node third = new Node(3);
        llist.head.next = second;
        second.next = third;
        llist.printList();
    }
}

Error al compilar

Advertencias y errores actuales de archivos

0
afw4r34fc4ed 8 jun. 2021 a las 14:44

2 respuestas

La mejor respuesta

No estabas realmente claro sobre lo que estabas tratando de hacer aquí. ¿Estás tratando de crear una implementación propia de una lista vinculada? ¿O simplemente estás tratando de jugar con java.util.LinkedList?

Con la información recopilada de sus comentarios, podemos decir que, de hecho, está tratando de crear su propia implementación de una lista vinculada.

Así que hay algunos pasos para tomar para arreglar su código. En primer lugar, retire el import java.util.LinkedList, a medida que aparentemente no quiere usar eso.

Luego cambie el nombre de su clase exterior (que es actualmente Main) a algo que tiene sentido, es decir, MyLinkedList. (Tampoco se olvide de cambiar el nombre del archivo .java.

public class MyLinkedList {
    Node head;
    ...

Luego, en su método main, debe usar en realidad su implementación :

public static void main(String[] args) {
    MyLinkedList llist = new MyLinkedList();
    ...
}

Entonces, deberías poder trabajar desde aquí.

0
maloomeister 8 jun. 2021 a las 12:08

En mi opinión, el error comienza a partir de la línea.

llist.head = new Node (1);

Porque head no se define en LinkedList.

Debe revisar la documentación de LinkedList y los métodos existentes

0
Sega 8 jun. 2021 a las 11:59