You are on page 1of 10

Cada nodo tendr, Conductor (id, nombre) y la claseBus (id, nmero de pasajeros

permitidos,nmero de pasajeros transportados en un da).

Mediante Linked List:


Crear la lista
Realizar las operaciones, insertar, borrar, cambiar un dato a algn 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 da.

Vaciar la lista a un archivo nuevo.


Cuando suba sus resultados deber mostrar sus archivos, contenido y vista de archivos.

Aplicacin.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(){

conductor");

String dato;
dato=JOptionPane.showInputDialog("ingrese el id y el nombre del
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;
}
@Override
public 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;
}
@Override
public String toString() {
return "Bus [idBus=" + idBus + ", pasajerosPermitidos="
+ pasajerosPermitidos + ", pasajerosTransportados="
+ pasajerosTransportados + ", ingresosDiarios=" +
ingresosDiarios
+ "]";
}

Lista.java
package com.epn;
import
import
import
import

java.awt.List;
java.util.Collections;
java.util.LinkedList;
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);
}

@Override
public String toString() {
return " \n" + lista ;
}

Resultados

Qu aprend?
El uso de linked list y sus mtodos como addLast , addFirst, .remove para
poder editar los elementos ingresados en la lista