Lista Enlazada

Iniciado por padiuwu, 20 Marzo 2019, 01:06 AM

0 Miembros y 1 Visitante están viendo este tema.

padiuwu

Este mi codigo lo que quiero hacer es leer una variable de tipo String pero al al tiempo de ejecutarlo simplemente me imprime "Nombre de la cancion" y no me deja leer lo que quiero.
import java.util.Scanner;

public class listaReproduccion {
    static Scanner read = new Scanner(System.in);
    static String nombre;
    static NodoCanciones primero = null;
    NodoCanciones ultimo = null;
    String cancion;
   
    public void insertar() {
        System.out.print("Nombre de la cancion: ");
        cancion = read.nextLine();
       
        System.out.println(nombre);
        NodoCanciones nuevo = new NodoCanciones(nombre);
        nuevo.sig = null;

        if (primero == null && ultimo == null) {
            primero = nuevo;
            ultimo = nuevo;
        } else {
            ultimo.sig = nuevo;
            ultimo = nuevo;
        }   
    }
   
    public void imprimir(){
        NodoCanciones temp = primero;
        System.out.println("CANCIONES");
        while (temp != null) {
            System.out.print(temp.nombre);
            temp = temp.sig;
            System.out.println();
        }
    }
   
    /*public NodoCanciones eliminar (NodoCanciones nodoLista, int dato){
       
    }*/
   
    public static void main(String args[]) {
        int menu, dato;
        listaReproduccion lista = new listaReproduccion();

        System.out.println("LISTA DE NUMEROS ENTEROS");

        do {
            System.out.println("MENU \n 1.- Agregar una cancion \n 2.- Imprimir Lista de Reproduccion \n "
                    + "3.- Eliminar cancion \n 3.- Salir");
            menu = read.nextInt();
            switch (menu) {
                case 1:
                    lista.insertar();
                    break;
                case 2:
                    lista.imprimir();
                    break;
                case 3:
                    //System.out.print("Se eliminaran todos los numeros mayores a X. \nIngresa el valor de X: ");
                    //dato = read.nextInt();
                    //lista.eliminar(dato);
                    break;
                case 4:
                    System.exit(0);
                default:
                    System.out.println("Seleccione una opcion: ");
            }

        } while (menu != 4 || menu <= 0);
    }
}

spcruzaley

 :huh: Te refieres a esta sección de tu codigo ???

Código (java) [Seleccionar]

System.out.print("Nombre de la cancion: ");
        cancion = read.nextLine();
       
        System.out.println(nombre);


Porque de ser asi, no veo ningun lugar en el cual estes asignando un valor a la variable nombre. En todo caso deberias poner la variable cancion y con eso seguro te imprime el dato que necesitas.


Saludos.