Linked List
-
Upload
christian-andres -
Category
Documents
-
view
214 -
download
0
description
Transcript of Linked List
Cada nodo tendrá, Conductor (id, nombre) y la claseBus (id, número de pasajeros permitidos,número de pasajeros transportados en un día).
Mediante Linked List:
Crear la lista Realizar las operaciones, insertar, borrar, cambiar un dato a algùn nodo, listar
total ingresos (deberá desplegar por cada bus (el total permitido, el total transportado y el total de ingresos).
Al final despliegue el total de ingresos en un día. Vaciar la lista a un archivo nuevo.
Cuando suba sus resultados deberá mostrar sus archivos, contenido y vista de archivos.
Aplicación.java
package com.epn;
import java.io.File;import java.io.FileWriter;
import javax.swing.JOptionPane;
public class Aplicacion {
public static void main(String[] args) {Lista listaEncadenada = new Lista();String salida="";int opc, continuar;do{
int sw = Integer.parseInt(JOptionPane.showInputDialog("1. Nodo al inicio\n 2.Nodo al final\n3. Eliminar elemento \n 4.Editar elemento\n5.Desplegar lista" ));
switch (sw) {case 1:
do{Conductor libroAux = new
Conductor();libroAux.setConductor();
listaEncadenada.setListaFinal(libroAux);continuar =
JOptionPane.showConfirmDialog(null, "otro ?");}while(continuar ==
JOptionPane.YES_OPTION);JOptionPane.showMessageDialog(null,
listaEncadenada);break;
case 2:do{
Conductor libroAux = new Conductor();libroAux.setConductor();listaEncadenada.setListaFinal(libroAux);
continuar = JOptionPane.showConfirmDialog(null, "Desea ingresar otro ?");
}while(continuar == JOptionPane.YES_OPTION);JOptionPane.showMessageDialog(null,
listaEncadenada);break;
case 3:salida = listaEncadenada.toString();JOptionPane.showMessageDialog(null, "La lista
contiene los siguientes elementos:"+salida);listaEncadenada.eliminarSeleccionado();JOptionPane.showMessageDialog(null, salida + "\
nNueva lista \n" + listaEncadenada);break;
case 4:salida = listaEncadenada.toString();JOptionPane.showMessageDialog(null, "La lista
contiene los siguientes elementos:"+salida);int
n=Integer.parseInt(JOptionPane.showInputDialog("Posicion"))-1;Conductor bus=new Conductor();bus.setConductor();
listaEncadenada.modbus(n, bus);
JOptionPane.showMessageDialog(null, "\nNueva lista \n" + listaEncadenada);
break;
case 5:salida = listaEncadenada.toString();JOptionPane.showMessageDialog(null, "Lista de
Conductores y Buses"+salida);
break;
default:JOptionPane.showMessageDialog(null, "ERROR");break;
}opc = JOptionPane.showConfirmDialog(null,
"Continuar?");}while(opc == JOptionPane.YES_OPTION);
try{File archivo = new File("Texto.txt");FileWriter escribir = new FileWriter(archivo,true);escribir.write(salida);escribir.close();
}catch(Exception e){JOptionPane.showMessageDialog(null, "Error");
}
}}
Conductor.java
package com.epn;
import java.util.StringTokenizer;
import javax.swing.JOptionPane;
public class Conductor {private int idConductor;private String nombre;private Bus datoBus;
public Conductor(int idConductor, String nombre, Bus datoBus) {super();this.idConductor = idConductor;this.nombre = nombre;datoBus = new Bus();datoBus.setBus();
}
public Conductor() {super();
this.idConductor=0;this.nombre="";
}
public void setConductor(){
String dato;dato=JOptionPane.showInputDialog("ingrese el id y el
nombre del conductor");StringTokenizer tokens= new StringTokenizer(dato,"/");this.idConductor=Integer.parseInt(tokens.nextToken());this.nombre=tokens.nextToken();datoBus = new Bus();datoBus.setBus();
}
public int getIdConductor() {return idConductor;
}
public void setIdConductor(int idConductor) {this.idConductor = idConductor;
}
public String getNombre() {return nombre;
}
public void setNombre(String nombre) {this.nombre = nombre;
}
public Bus getDatoBus() {return datoBus;
}
public void setDatoBus(Bus datoBus) {this.datoBus = datoBus;
}
@Overridepublic String toString() {
return "Conductor [idConductor=" + idConductor + ", nombre=" + nombre
+ ", datoBus=" + datoBus + "]"+"\n";}
}
Bus.java
package com.epn;
import java.util.StringTokenizer;
import javax.swing.JOptionPane;
public class Bus {private int idBus;private int pasajerosPermitidos;private int pasajerosTransportados;private int ingresosDiarios;public Bus(int idBus, int pasajerosPermitidos, int
pasajerosTransportados,int ingresosDiarios) {super();this.idBus = idBus;this.pasajerosPermitidos = pasajerosPermitidos;this.pasajerosTransportados = pasajerosTransportados;this.ingresosDiarios = ingresosDiarios;
}public Bus() {
super();}
public void setBus(){
String dato;dato=JOptionPane.showInputDialog("id bus,pasajeros
permitidos,pasajeros transportados y total de ingresos diarios separados por /");
StringTokenizer tokens= new StringTokenizer(dato,"/");this.idBus=Integer.parseInt(tokens.nextToken());
this.pasajerosPermitidos=Integer.parseInt(tokens.nextToken());
this.pasajerosTransportados=Integer.parseInt(tokens.nextToken());this.ingresosDiarios=Integer.parseInt(tokens.nextToken());
}
public int getIngresosDiarios() {return ingresosDiarios;
}public void setIngresosDiarios(int ingresosDiarios) {
this.ingresosDiarios = ingresosDiarios;}@Overridepublic String toString() {
return "Bus [idBus=" + idBus + ", pasajerosPermitidos="+ pasajerosPermitidos + ", pasajerosTransportados="+ pasajerosTransportados + ", ingresosDiarios=" +
ingresosDiarios+ "]";
}
}
Lista.java
package com.epn;
import java.awt.List;import java.util.Collections;import java.util.LinkedList;import java.util.ListIterator;
import javax.swing.JOptionPane;
public class Lista {LinkedList<Conductor> lista;
public Lista() {super();lista = new LinkedList() ;
}
public LinkedList<Conductor> getLista() {return lista;
}
public void setLista(LinkedList<Conductor> lista) {this.lista = lista;
}
public void setListaFinal(Conductor conduct){lista.addLast(conduct);
}
public void setListaInicio(Conductor conduct) {lista.addFirst(conduct);
}public void modbus(int n,Conductor bus ){
lista.set(n,bus); }
public void eliminarSeleccionado(){int dim = Integer.parseInt(JOptionPane.showInputDialog(
"ingrese el numero de la lista a eliminar"));lista.remove(dim-1);
}
@Overridepublic String toString() {
return " \n" + lista ;}
}
Resultados
¿Qué aprendí?
El uso de linked list y sus métodos como addLast , addFirst, .remove para poder editar los elementos ingresados en la lista