Hola, me gustaría saber qué le hace falta a mi algoritmo de acuerdo con el enunciado
Ejercicio
Crear un programa utilizando listas doblemente enlazadas o circulares o simplemente enlazadas que permita crear objetos (Nodos) del tipo Televisor (de los televisores se conoce: código, marca, pulgadas) y del tipo PC (de los Pc se conoce: código, marca, procesador, memoria ram y disco duro). EL programa presentara un menú que me permita crear e insertar cualquiera de los dos tipos de objetos, también permitirá listarlos según el tipo de objeto.
CLASS PRINCIPAL
import java.util.Scanner;
public class ListaCirular {
public static void main(String[] args) {
int ref;
String marca;
int pul;
String opc = null;
Scanner lea = new Scanner(System.in);
ListaC listac = new ListaC();
do {
System.out.print("Ingresa la referencia del TV: ");
ref = lea.nextInt();
System.out.print("Ingresa la marca del TV: ");
marca = lea.next();
System.out.print("Ingresa las Pulgadas del TV: ");
pul = lea.nextInt();
Televisor tv = new Televisor(ref, marca, pul);
System.out.println(listac.insertarNodo(tv));
System.out.print("¿Desea continuar insertando nodos? Si - No: ");
opc = lea.next();
}while(!opc.equalsIgnoreCase("no"));
System.out.println("");
System.out.println("\t\t\tListado de Televisores");
System.out.println("");
listac.ImprimirDatos();
}
}
NODO
public class Nodo {
Televisor dato;
Nodo enlace;
public Nodo(Televisor dato) {
this.dato = dato;
this.enlace = this;
}
}
CLASS TELEVISORES
public class Televisor {
private int referencia;
private String marca;
private int pulgadas;
public Televisor() {
}
public Televisor(int ref, String marca, int pul) {
this.referencia = ref;
this.marca = marca;
this.pulgadas = pul;
}
public int getReferencia() {
return referencia;
}
public void setReferencia(int referencia) {
this.referencia = referencia;
}
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public int getPulgadas() {
return pulgadas;
}
public void setPulgadas(int pulgadas) {
this.pulgadas = pulgadas;
}
public String Mostrar(){
return "(Ref: " + getReferencia() + " Marcar: " + getMarca() + " Pul: " + getPulgadas() + ")";
}
}
CLASS LISTAC
public class ListaC {
private Nodo lc;
private int tamanio = 0;
public ListaC() {
lc = null;
}
public boolean ValidarLista() {
return lc == null;
}
public String insertarNodo(Televisor tv) {
Nodo nuevo = new Nodo(tv);
if (!ValidarLista()) {
nuevo.enlace = lc.enlace;
lc.enlace = nuevo;
}
lc = nuevo;
tamanio++;
return "Nodo insertado";
}
public void ImprimirDatos(){
Nodo aux;
if(!ValidarLista()){
aux = lc.enlace;
do{
System.out.print(aux.dato.Mostrar() + " --> \n");
aux = aux.enlace;
}while(aux != lc.enlace);
}else{
System.out.println("La lista no contiene información");
}
}
}