Está en la página 1de 9

ESCUELA POLITCNICA NACIONAL

FACULTAD DE INGENIERA DE SISTEMAS


INGENIERA EN SISTEMAS INFORMTICOS Y DE COMPUTACIN
Programa en java para la manipulacin de datos(Linked List).

-Cdigo:

Clase (principal):

package tarea4.segundobimestre.epn;
import javax.swing.JOptionPane;

public class Aplicacion {


public static void main(String[] args) {
int opcion=0;
ListaConductores lis=new ListaConductores();
do{
opcion=Integer.parseInt(JOptionPane.showInputDialog("Eliga
opcion :\n 1.-INSERTAR DATOS\n2.-BUSCAR Y ELIMINAR\n3.-CAMBIAR UN DATO \n4.DESPLEJAR INGRESOS"));
switch(opcion){
case 1:
lis.agregarConductor();
break;
case 2:
String buscar="";
buscar=JOptionPane.showInputDialog("Ingrese el conductor que
quiere borrar");
lis.ordenar();
lis.buscaryborrar(buscar);
break;
case 3:
lis.agregarConductor();
break;
case 4:
break;
}
JOptionPane.showMessageDialog(null, lis.DesplegarIterator());

opcion=JOptionPane.showConfirmDialog(null,"desea ingresar
continuar",null,JOptionPane.YES_NO_CANCEL_OPTION);}
while( opcion==JOptionPane.YES_OPTION );

}}

Clase( Bus):
package tarea4.segundobimestre.epn;
import java.util.StringTokenizer;
import javax.swing.JOptionPane;
public class Bus {
private int idbus;
private int numpermitidos;
private int numtransportados;
public
Bus(int
idbus,
int
numpermitidos,
int
numtransportados) {
super();
this.idbus = 0;
this.numpermitidos = 0;
this.numtransportados = 0;
}
public Bus() {
super();
String linea="";
linea=JOptionPane.showInputDialog("INTRODUZA
ID
BUS-NUMERO DE PASAJEROS PERIMITIDOS-NUMEROS DE
PASAJEROS TRANSPORTADOS SEPARADO POR - ");
StringTokenizer
tokens=new
StringTokenizer(linea,"-");
this.idbus = Integer.parseInt(tokens.nextToken());
this.numpermitidos
Integer.parseInt(tokens.nextToken());
this.numtransportados
Integer.parseInt(tokens.nextToken());
}
public int getIdbus() {
return idbus;
}
public void setIdbus(int idbus) {

=
=

this.idbus = idbus;
}
public int getNumpermitidos() {
return numpermitidos;
}
public void setNumpermitidos(int numpermitidos) {
this.numpermitidos = numpermitidos;
}
public int getNumtransportados() {
return numtransportados;
}
public void setNumtransportados(int numtransportados) {
this.numtransportados = numtransportados;
}
@Override
public String toString() {
return "Bus [idbus=" + idbus + ", numpermitidos=" +
numpermitidos
+
",
numtransportados="
+
numtransportados
+"\nIngresos
totales:"+this.numtransportados*0.25+ "]\n";
}
}

Clase(Conductor):

package tarea4.segundobimestre.epn;
import javax.swing.JOptionPane;
public class Conductor {
private int id;
private String nombre;
private Bus buses;
public Conductor(int id, String nombre, Bus buses) {
super();
this.id = id;
this.nombre = nombre;
this.buses = buses;
}
public Conductor() {
super();
this.id=Integer.parseInt(JOptionPane.showInputDialog("Ingrese cedula del
conductor:"));
this.nombre=JOptionPane.showInputDialog("Ingrese nombre del conductor");
this.buses=new Bus();

}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
@Override
public String toString() {
return "Conductor [id=" + id + ", nombre=" + nombre + ", buses=" + buses
+ "]";
}

Clase(ComparadorNombre):

package tarea4.segundobimestre.epn;
import java.util.Comparator;

public class ComparadorNombre implements Comparator {


int compararnom;
Conductor c1, c2;
public int compare(Object objeto1, Object objeto2) {
c1 = (Conductor) objeto1;
c2 = (Conductor) objeto2;
compararnom = (c1.getNombre().compareToIgnoreCase(c2
.getNombre()));
return compararnom;
}
}

Clase(ListaConductores):

package tarea4.segundobimestre.epn;
import java.util.*;

import java.awt.List;
import java.util.Collections;

import java.util.Comparator;
import javax.swing.JOptionPane;

class ListaConductores {
LinkedList<Conductor> conductores;
public ListaConductores(LinkedList<Conductor> conductores) {
super();
this.conductores = conductores;
}
public ListaConductores() {
super();
conductores=new <Conductor>LinkedList();
}
public LinkedList<Conductor> getConductores() {
return conductores;
}
public void setConductores(LinkedList<Conductor> conductores) {
this.conductores = conductores;
}
public void agregarConductor(){
int opcion=0;
Conductor aux;
do{
aux=new Conductor();
addConductor(aux);
opcion=JOptionPane.showConfirmDialog(null, "QUIERE
AADIR OTRO ConductorDeBuses?","CONFIRMAR",JOptionPane.YES_NO_OPTION);
}
while(opcion==JOptionPane.YES_OPTION);
}
public void addConductor(Conductor conductor){
conductores.add(conductor);
}
public String DesplegarIterator(){
String linea="";
Iterator <Conductor> iterator = conductores.iterator();

while(iterator.hasNext()){

linea+=iterator.next();

}
return linea;
}
public void desordenar(){
Collections.shuffle(this.conductores)
;
}
public void ordenar(){
Collections.sort(this.conductores,new ComparadorNombre());
}
public void buscaryborrar(String buscar){
Conductor lib=new Conductor(0,buscar,null);
int nodo=Collections.binarySearch(this.conductores,lib,new
ComparadorNombre());
this.conductores.remove(nodo); }
@Override
public String toString() {
return "ListaConductores [conductores=" + conductores + "]";
}

-Resultados:

INSERTANDO DATOS ,OPCION 1:

INGRESANDO MAS DATOS:

OPCION 2 BORRAR:

OPCION 3 CAMBIO DE DATOS:

OPCION 4 DESPLEJAR INGRESOS:

-Conclusiones:
Aprend a usar LinkedList.
-Bibliografa:
[1] Deitel y Deitel. "Java cmo programar".9va. Edicin. Prentice Education ISBN:
978-01366053068-2012.