1
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / Java programa listas doblemente enlazadas o circulares o simplemente enlazadas
« en: 18 de Octubre 2021, 03:22 »
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
NODO
CLASS TELEVISORES
CLASS LISTAC
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
Código: [Seleccionar]
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
Código: [Seleccionar]
public class Nodo {
Televisor dato;
Nodo enlace;
public Nodo(Televisor dato) {
this.dato = dato;
this.enlace = this;
}
}
CLASS TELEVISORES
Código: [Seleccionar]
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
Código: [Seleccionar]
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");
}
}
}
RSS