proyecto poogame bus

13

Click here to load reader

Upload: epn

Post on 15-Jun-2015

688 views

Category:

Education


1 download

DESCRIPTION

Código fuente del programa BUS(poogame.blogspot.com)

TRANSCRIPT

Page 1: Proyecto Poogame Bus

Clase Pasajero

public class Pasajero {

/* campo para el nombre del <code> Pasajero </code> */private String nombre;/* campo para la edad del <code> Pasajero </code> */private int edad;

public Pasajero() {

}

/** * Inicializa los campos del objeto <code> Pasajero </code>

con valores dados *

* @param nombre contiene el valor para el campo <code> nombre </code> * @param edad contiene el valor para el campo <code> edad </code> */public Pasajero(String nombre, int edad) {

this.nombre = nombre;this.edad = edad;

}

/** * * Devuelve el valor del campo <code> edad </code> * * @return valor del campo <code> edad </code> */public int getEdad() {

return edad;}

/** * Asigna el valor del campo <code> edad </code> de un * <code> Pasajero </code> * * @param edad contiene el valor de un campo * <code> edad </code> */public void setEdad(int edad) {

this.edad = edad;}

/**

Page 2: Proyecto Poogame Bus

* Devuelve el valor del campo <code> nombre </code> * * @return valor del campo <code> nombre </code> */public String getNombre() {

return nombre;}

/** * Asigna el valor del campo <code> nombre </code> de un * <code> Pasajero </code> * * @param nombre contiene el valor de un campo * <code> nombre </code> */public void setNombre(String nombre) {

this.nombre = nombre;}

}

Creación de la clase Bus

package terrestre;import javax.swing.*;/** * Manipula objetos de tipo <code> Bus </code> * */public class Bus {

/* campo para el nombre del <code> Bus </code> */private String nombre;/* campo para el numero máximo de pasajeros del <code> Bus </code>

*/private int max;/* campo para el numero de pasajeros del <code> Bus </code> */private int numeroPasajeros;/* campo para el arreglo de pasajeros del <code> Bus </code> */private Pasajero pasajeros[];

/** * inicializa los campos del objeto <code> Bus </code> */public Bus() {

}

/** * inicializa los campos del objeto <code> Bus </code> con valores

dados *

Page 3: Proyecto Poogame Bus

* @param nombre contiene el valor para el campo <code> nombre </code>

* @param max contiene el valor para el campo <code> max </code> * @param numeroPasajeros contiene valor de campo <code>

numeroPasajeros </code> * @param pasajeros contiene el valor para campo <code> pasajeros

</code> */

public Bus(String nombre, int max, int numeroPasajeros, Pasajero[] pasajeros) {

this.nombre = nombre;this.max = max;this.numeroPasajeros = numeroPasajeros;this.pasajeros = pasajeros;

}

/** * inicializa los campos del objeto <code> Bus </code> con valores

dados * * @param nombre contiene el valor para el campo <code> nombre

</code> * @param max contiene el valor para el campo <code> max </code> */public Bus(String nombre, int max) {

this.nombre = nombre;this.max = max;this.numeroPasajeros = 0;this.pasajeros = new Pasajero[max];

}

/** * Devuelve el valor del campo <code> max </code> * * @return valor del campo <code> max </code> */public int getMax() {

return max;}

/** * Asigna el valor del campo <code> max </code> de un * <code> Bus </code> * * @param max contiene el valor de un campo * <code> max </code> */public void setMax(int max) {

this.max = max;}

Page 4: Proyecto Poogame Bus

/** * Devuelve el valor del campo <code> nombre </code> * * @return valor del campo <code> nombre </code> */public String getNombre() {

return nombre;}

/** * Asigna el valor del campo <code> nombre </code> de un * <code> Bus </code> * * @param nombre contiene el valor de un campo * <code> nombre </code> */public void setNombre(String nombre) {

this.nombre = nombre;}

/** * Devuelve el valor del campo <code> numeroPasajeros </code> * * @return valor del campo <code> numeroPasajeros </code> */public int getNumeroPasajeros() {

return numeroPasajeros;}

/** * Asigna el valor del campo <code> numeroPasajeros </code> de un * <code> Bus </code> * * @param numeroPasajeros contiene el valor de un campo * <code> numeroPasajeros </code> */public void setNumeroPasajeros(int numeroPasajeros) {

this.numeroPasajeros = numeroPasajeros;}

/** * Devuelve el valor del campo <code> pasajeros </code> * * @return valor del campo <code> pasajeros </code> */public Pasajero[] getPasajeros() {

return pasajeros;}

Page 5: Proyecto Poogame Bus

/** * Asigna el valor del campo <code> pasajeros </code> de un * <code> Bus </code> * * @param pasajeros contiene el valor de un campo * <code> pasajeros </code> */public void setPasajeros(Pasajero[] pasajeros) {

this.pasajeros = pasajeros;}

/** * Llena con valores null al vector <code> pasajeros </code> */public void nullCadena() {

for (int i = 0; i < max; i++) {

pasajeros[i] = null;}

}

/** * Agrega un pasajero al vector <code> pasajeros </code> * de la case <code> Bus </code> * * @param valuePasajero contiene el nombre y la edad del pasajero

que * se sube al <code> Bus </code> */public void subirPasajero (Pasajero valuePasajero){

if (numeroPasajeros < max) {

for (int z = 0; z < max; z++) {

if (pasajeros[z] == null) {

pasajeros[z] = valuePasajero;numeroPasajeros++;z = max;}

}} else{

JOptionPane.showMessageDialog(null,"BUS lleno");}

}

/** * Resta un pasajero al vector <code> pasajeros </code> * de la case <code> Bus </code> *

* @param lugarPasajero contiene el número de puesto del pasajero

Page 6: Proyecto Poogame Bus

* que se baja del <code> Bus </code> */public void bajarPasajero (int lugarPasajero){

if (numeroPasajeros == 0) {

JOptionPane.showMessageDialog(null,"BUS vacío");} else{

if (lugarPasajero > max) {

JOptionPane.showMessageDialog(null,"Ese puesto excede los existentes");

}else{

if (lugarPasajero <= 0) {

JOptionPane.showMessageDialog(null,"El puesto 0 no existe");

}else {

if(pasajeros[lugarPasajero - 1] == null) {

JOptionPane.showMessageDialog(null,"En ese puesto ya no hay nadie");

}else {

pasajeros[lugarPasajero -1] = null;numeroPasajeros --;

}}

}}

}

/** * Devuelve el total de pasajeros que se encuentran * en el <code> Bus </code> * * @return número de Pasajeros en el <code> Bus </code> */public int totalPasajeros() {

return (numeroPasajeros);}

/** * Devuelve la lista de pasajeros que se encuentran * en el <code> Bus </code> * * @return nombres de los Pasajeros en el <code> Bus </code> */

Page 7: Proyecto Poogame Bus

public String[] listaPasajeros(){

String nombre[] = new String[max];for (int i = 0; i < max; i++){

if (pasajeros[i] == null) {

nombre[i] = "";}else {

nombre[i] = pasajeros[i].getNombre();}

}return nombre;

}

/** * Devuelve el promedio de edades de los pasajeros que se

encuentran *

en el <code> Bus </code> * * @return promedio de edades de los pasajeros en el <code> Bus

</code> */public float promedioEdades(){

float sumaPromedio = 0;for (int i = 0; i < numeroPasajeros; i++){

sumaPromedio += pasajeros[i].getEdad();}return sumaPromedio / numeroPasajeros;

}}

Creación de la clase Aplica

/** * Interacción entre las clases Bus y Pasajero * */

import java.util.StringTokenizer;import javax.swing.JOptionPane;public class Aplica {

public static void main(String[] args) {try {int nj = 0;JOptionPane.showMessageDialog (null,"BUS");int z = 20;Bus a=new Bus("ESCOLAR",z);

Page 8: Proyecto Poogame Bus

for(;;){

String ops = JOptionPane.showInputDialog ( null,"MENU: \n\n1. Subir Pasajero\n" +

"2. Bajar Pasajero\n" +"3. Total de Pasajeros\n" +"4. Listado de los Pasajeros\n" +"5. Promedio de edad de los Pasajeros\n" +"6. Buscar Pasajero\n" +"7. Salir\n");

int an = Integer.parseInt(ops);switch(an) {

case 1:

try {

JOptionPane.showMessageDialog ( null,"Ingrese Pasajero");

String st = JOptionPane.showInputDialog ( null,"El Pasajero debe ser ingresado de la siguiente forma:\n"

"nombre_edad","Ejemplo: Andres_21");

StringTokenizer str = new StringTokenizer(st, "_");if ((str.countTokens() > 2) || (str.countTokens() < 2))

{JOptionPane.showMessageDialog ( null,"FAVOR LLENE TODOS LOS CAMPOS!!!");

}String nombre = str.nextToken();

int edad = Integer.parseInt(str.nextToken());if (edad > 100 || edad < 0) {

JOptionPane.showMessageDialog (null,"edad mal ingresada");}else{

Pasajero b = new Pasajero();b.setNombre(nombre);b.setEdad(edad);a.subirPasajero(b);}} catch (Exception e) {

JOptionPane.showMessageDialog (null,"MAL INGRESADO!!!");}

Page 9: Proyecto Poogame Bus

break;

case 2: String nnj = JOptionPane.showInputDialog (null,"Ingrese el numero de puesto del pasajero: ");

try { nj= Integer.parseInt(nnj);

}catch(Exception e){

JOptionPane.showMessageDialog (null,"INGRESE NUMERO NO LETRAS!!!");

}if(nj<0) {

JOptionPane.showMessageDialog (null,"OJO, Valores Negativos NO Aceptados");

}a.bajarPasajero(nj);break;

case 3:JOptionPane.showMessageDialog (null,"El numero de pasajeros del bus es: " + a.totalPasajeros());

break;

case 4:

JOptionPane.showMessageDialog (null,"Listado de pasajeros: ");int i = 1;

for (String dato: a.listaPasajeros()) {

if (dato == "") {

}else{

JOptionPane.showMessageDialog (null,"Pasajero "+ (i )+ " : " + dato);

i++;}

}break;

Page 10: Proyecto Poogame Bus

case 5:JOptionPane.showMessageDialog (null,"EL PROMEDIO DE EDAD DE ESTE BUS ES " + a.promedioEdades() + "AÑOS");

break;

case 6:String cad = null;

cad = JOptionPane.showInputDialog (null,"Ingrese el nombre del pasajero a buscar");

try {

}catch (Exception e) {}

for (String dato: a.listaPasajeros()) {

if (dato.equals(cad)) {

JOptionPane.showMessageDialog (null,"LO ENCONTRAMOS!!! El pasajero está en este bus");

}}

JOptionPane.showMessageDialog (null,"Búsqueda Finalizada");

break;

case 7:{

JOptionPane.showMessageDialog (null,"ESPERO QUE ESTE PROGRAMA HAYA SIDO DE SU AGRADO");

System.exit(0);}break;

default:

JOptionPane.showMessageDialog(null,"Seleccion erronea\n\n\nElija nuevamente una opcion del 1 al 7");

}

}}catch (Exception e){}

}

}

Page 11: Proyecto Poogame Bus