Linked List

11
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);

description

ejercicio programacionlinked list

Transcript of Linked List

Page 1: 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);

Page 2: Linked List

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");

}

Page 3: Linked List

}}

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;

}

Page 4: Linked List

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

Page 5: Linked List

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() ;

Page 6: Linked List

}

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

Page 7: Linked List
Page 8: Linked List
Page 9: Linked List
Page 10: Linked List

¿Qué aprendí?

El uso de linked list y sus métodos como addLast , addFirst, .remove para poder editar los elementos ingresados en la lista