Foros aprenderaprogramar.com
		Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Reijs Manas 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
 
 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");
 }
 
 }
 
 }
 
- 
				El tema de "nodos" lo tengo muy verde, así que daré por hecho que la lógica que has usado para crear las listas y los nodos es correcta.
 
 Así que en principio lo único que te falta, es crear la clase PC
 y del tipo PC (de los Pc se conoce: código, marca, procesador, memoria ram y disco duro) y ofrecer en el menú la posibilidad de elegir entre registrar TV o PC, además de poder listarlos por separado.
- 
				Creo la clase pc y luego como ofrezco el menu?
 ejemplo...!
- 
				Algo parecido a esto:
 
 
 do {
 
 System.out.println("(T) - Ingresar TV);
 System.out.println("(P) - Ingresar PC);
 System.out.print("Elija opción: );
 opc = lea.next();
 
 if (opc.equals("T") {
 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));
 }
 else {
 //Pedir datos de PC
 //Insertar nodo tipo PC
 }
 
 System.out.print("¿Desea continuar insertando nodos? Si - No: ");
 opc = lea.next();
 
 }while(!opc.equalsIgnoreCase("no"));