Proyecto Poogame Bus

895 views

Published on

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

Published in: Education, Business, Sports
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
895
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Proyecto Poogame Bus

  1. 1. Clase Pasajero<br /> public class Pasajero {<br /> /* campo para el nombre del <code> Pasajero </code> */<br />private String nombre;<br />/* campo para la edad del <code> Pasajero </code> */<br />private int edad;<br />public Pasajero() {<br />}<br />/**<br /> * Inicializa los campos del objeto <code> Pasajero </code> con valores dados<br /> * <br /> * @param nombre contiene el valor para el campo <code> nombre </code><br /> * @param edad contiene el valor para el campo <code> edad </code><br /> */<br />public Pasajero(String nombre, int edad) {<br />this.nombre = nombre;<br />this.edad = edad;<br />}<br />/**<br /> * * Devuelve el valor del campo <code> edad </code><br /> * <br /> * @return valor del campo <code> edad </code><br /> */<br />public int getEdad() {<br />return edad;<br />}<br />/**<br /> * Asigna el valor del campo <code> edad </code> de un<br /> * <code> Pasajero </code><br /> * <br /> * @param edad contiene el valor de un campo<br /> * <code> edad </code><br /> */<br />public void setEdad(int edad) {<br />this.edad = edad;<br />}<br />/**<br /> * Devuelve el valor del campo <code> nombre </code><br /> * <br /> * @return valor del campo <code> nombre </code><br /> */<br />public String getNombre() {<br />return nombre;<br />}<br />/**<br /> * Asigna el valor del campo <code> nombre </code> de un<br /> * <code> Pasajero </code><br /> * <br /> * @param nombre contiene el valor de un campo<br /> * <code> nombre </code><br /> */<br />public void setNombre(String nombre) {<br />this.nombre = nombre;<br />}<br />}<br />Creación de la clase Bus<br />package terrestre;<br />import javax.swing.*;<br />/**<br /> * Manipula objetos de tipo <code> Bus </code><br /> * <br /> */<br />public class Bus {<br />/* campo para el nombre del <code> Bus </code> */<br />private String nombre;<br />/* campo para el numero máximo de pasajeros del <code> Bus </code> */<br />private int max;<br />/* campo para el numero de pasajeros del <code> Bus </code> */<br />private int numeroPasajeros;<br />/* campo para el arreglo de pasajeros del <code> Bus </code> */<br />private Pasajero pasajeros[];<br />/**<br /> * inicializa los campos del objeto <code> Bus </code><br /> */<br />public Bus() {<br />}<br />/**<br /> * inicializa los campos del objeto <code> Bus </code> con valores dados<br /> * <br /> * @param nombre contiene el valor para el campo <code> nombre </code><br /> * @param max contiene el valor para el campo <code> max </code><br /> * @param numeroPasajeros contiene valor de campo <code> numeroPasajeros </code><br /> * @param pasajeros contiene el valor para campo <code> pasajeros </code><br /> */<br />public Bus(String nombre, int max, int numeroPasajeros, Pasajero[] pasajeros) {<br />this.nombre = nombre;<br />this.max = max;<br />this.numeroPasajeros = numeroPasajeros;<br />this.pasajeros = pasajeros;<br />}<br />/**<br /> * inicializa los campos del objeto <code> Bus </code> con valores dados<br /> * <br /> * @param nombre contiene el valor para el campo <code> nombre </code><br /> * @param max contiene el valor para el campo <code> max </code><br /> */<br />public Bus(String nombre, int max) {<br />this.nombre = nombre;<br />this.max = max;<br />this.numeroPasajeros = 0;<br />this.pasajeros = new Pasajero[max];<br />}<br />/**<br /> * Devuelve el valor del campo <code> max </code><br /> * <br /> * @return valor del campo <code> max </code><br /> */<br />public int getMax() {<br />return max;<br />}<br />/**<br /> * Asigna el valor del campo <code> max </code> de un<br /> * <code> Bus </code><br /> * <br /> * @param max contiene el valor de un campo<br /> * <code> max </code><br /> */<br />public void setMax(int max) {<br />this.max = max;<br />}<br />/**<br /> * Devuelve el valor del campo <code> nombre </code><br /> * <br /> * @return valor del campo <code> nombre </code><br /> */<br />public String getNombre() {<br />return nombre;<br />}<br />/**<br /> * Asigna el valor del campo <code> nombre </code> de un<br /> * <code> Bus </code><br /> * <br /> * @param nombre contiene el valor de un campo<br /> * <code> nombre </code><br /> */<br />public void setNombre(String nombre) {<br />this.nombre = nombre;<br />}<br />/**<br /> * Devuelve el valor del campo <code> numeroPasajeros </code><br /> * <br /> * @return valor del campo <code> numeroPasajeros </code><br /> */<br />public int getNumeroPasajeros() {<br />return numeroPasajeros;<br />}<br />/**<br /> * Asigna el valor del campo <code> numeroPasajeros </code> de un<br /> * <code> Bus </code><br /> * <br /> * @param numeroPasajeros contiene el valor de un campo<br /> * <code> numeroPasajeros </code><br /> */<br />public void setNumeroPasajeros(int numeroPasajeros) {<br />this.numeroPasajeros = numeroPasajeros;<br />}<br />/**<br /> * Devuelve el valor del campo <code> pasajeros </code><br /> * <br /> * @return valor del campo <code> pasajeros </code><br /> */<br />public Pasajero[] getPasajeros() {<br />return pasajeros;<br />}<br />/**<br /> * Asigna el valor del campo <code> pasajeros </code> de un<br /> * <code> Bus </code><br /> * <br /> * @param pasajeros contiene el valor de un campo<br /> * <code> pasajeros </code><br /> */<br />public void setPasajeros(Pasajero[] pasajeros) {<br />this.pasajeros = pasajeros;<br />}<br />/**<br /> * Llena con valores null al vector <code> pasajeros </code> <br /> */<br />public void nullCadena() {<br />for (int i = 0; i < max; i++) {<br />pasajeros[i] = null;<br />}<br />}<br />/**<br /> * Agrega un pasajero al vector <code> pasajeros </code> <br /> * de la case <code> Bus </code><br /> * <br /> * @param valuePasajero contiene el nombre y la edad del pasajero que<br /> * se sube al <code> Bus </code><br /> */<br />public void subirPasajero (Pasajero valuePasajero){<br />if (numeroPasajeros < max) {<br />for (int z = 0; z < max; z++) {<br />if (pasajeros[z] == null) {<br />pasajeros[z] = valuePasajero;<br />numeroPasajeros++;<br />z = max;<br />}<br />}<br />} else{<br />JOptionPane.showMessageDialog(null," BUS lleno" );<br />}<br />}<br />/**<br /> * Resta un pasajero al vector <code> pasajeros </code> <br /> * de la case <code> Bus </code><br /> * <br /> * @param lugarPasajero contiene el número de puesto del pasajero<br /> * que se baja del <code> Bus </code><br /> */<br />public void bajarPasajero (int lugarPasajero){<br />if (numeroPasajeros == 0) {<br />JOptionPane.showMessageDialog(null," BUS vacío" );<br />} else{<br />if (lugarPasajero > max) {<br />JOptionPane.showMessageDialog(null," Ese puesto excede los existentes" );<br />}<br />else{<br />if (lugarPasajero <= 0) {<br />JOptionPane.showMessageDialog(null," El puesto 0 no existe" );<br />}<br />else {<br />if(pasajeros[lugarPasajero - 1] == null) {<br />JOptionPane.showMessageDialog(null," En ese puesto ya no hay nadie" );<br />}else {<br />pasajeros[lugarPasajero -1] = null;<br />numeroPasajeros --;<br />}<br />}<br />}<br />}<br />}<br />/**<br /> * Devuelve el total de pasajeros que se encuentran<br /> * en el <code> Bus </code><br /> * <br /> * @return número de Pasajeros en el <code> Bus </code><br /> */<br />public int totalPasajeros() {<br />return (numeroPasajeros);<br />}<br />/**<br /> * Devuelve la lista de pasajeros que se encuentran<br /> * en el <code> Bus </code><br /> * <br /> * @return nombres de los Pasajeros en el <code> Bus </code><br /> */<br />public String[] listaPasajeros(){<br />String nombre[] = new String[max];<br />for (int i = 0; i < max; i++){<br />if (pasajeros[i] == null) {<br />nombre[i] = " " ;<br />}<br />else {<br />nombre[i] = pasajeros[i].getNombre();<br />}<br />}<br />return nombre;<br />}<br />/**<br /> * Devuelve el promedio de edades de los pasajeros que se encuentran<br /> *<br /> en el <code> Bus </code><br /> * <br /> * @return promedio de edades de los pasajeros en el <code> Bus </code><br /> */<br />public float promedioEdades(){<br />float sumaPromedio = 0;<br />for (int i = 0; i < numeroPasajeros; i++){<br />sumaPromedio += pasajeros[i].getEdad();<br />}<br />return sumaPromedio / numeroPasajeros;<br />}<br />}<br />Creación de la clase Aplica<br />/**<br /> * Interacción entre las clases Bus y Pasajero<br /> * <br /> */<br />import java.util.StringTokenizer;<br />import javax.swing.JOptionPane;<br />public class Aplica {<br />public static void main(String[] args) {<br />try {<br />int nj = 0;<br />JOptionPane.showMessageDialog (null," BUS" );<br />int z = 20;<br />Bus a=new Bus(" ESCOLAR" ,z);<br />for(;;)<br />{<br />String ops = JOptionPane.showInputDialog ( null," MENU: 1. Subir Pasajero " + <br />" 2. Bajar Pasajero " +<br />" 3. Total de Pasajeros " +<br />" 4. Listado de los Pasajeros " +<br />" 5. Promedio de edad de los Pasajeros " +<br />" 6. Buscar Pasajero " +<br />" 7. Salir " );<br /> <br /> <br />int an = Integer.parseInt(ops);<br />switch(an) {<br />case 1: <br />try {<br />JOptionPane.showMessageDialog ( null," Ingrese Pasajero" );<br />String st = JOptionPane.showInputDialog ( null," El Pasajero debe ser ingresado de la siguiente forma: " " nombre_edad" ," Ejemplo: Andres_21" );<br /> <br />StringTokenizer str = new StringTokenizer(st, " _" );<br />if ((str.countTokens() > 2) || (str.countTokens() < 2)) {<br />JOptionPane.showMessageDialog ( null," FAVOR LLENE TODOS LOS CAMPOS!!!" );<br />}<br />String nombre = str.nextToken();<br />int edad = Integer.parseInt(str.nextToken());<br />if (edad > 100 || edad < 0) {<br />JOptionPane.showMessageDialog (null," edad mal ingresada" );<br />}<br />else{<br />Pasajero b = new Pasajero();<br />b.setNombre(nombre);<br />b.setEdad(edad);<br />a.subirPasajero(b);<br />}<br />} catch (Exception e) {<br />JOptionPane.showMessageDialog (null," MAL INGRESADO!!!" );<br />}<br />break;<br />case 2: <br />String nnj = JOptionPane.showInputDialog (null," Ingrese el numero de puesto del pasajero: " );<br /> <br /> try {<br /> nj= Integer.parseInt(nnj);<br /> <br />}catch(Exception e){<br />JOptionPane.showMessageDialog (null," INGRESE NUMERO NO LETRAS!!!" );<br />}<br />if(nj<0) {<br />JOptionPane.showMessageDialog (null," OJO, Valores Negativos NO Aceptados" );<br />}<br />a.bajarPasajero(nj);<br />break;<br />case 3:<br />JOptionPane.showMessageDialog (null," El numero de pasajeros del bus es: " + a.totalPasajeros());<br />break;<br />case 4:<br />JOptionPane.showMessageDialog (null," Listado de pasajeros: " );<br />int i = 1;<br />for (String dato: a.listaPasajeros()) {<br />if (dato == " " ) {<br />}<br />else{<br />JOptionPane.showMessageDialog (null," Pasajero " + (i )+ " : " + dato);<br />i++;<br />}<br />}<br />break<br />;<br />case 5:<br />JOptionPane.showMessageDialog (null," EL PROMEDIO DE EDAD DE ESTE BUS ES " + a.promedioEdades() + " AÑOS" );<br />break;<br />case 6:<br />String cad = null;<br /> cad = JOptionPane.showInputDialog (null," Ingrese el nombre del pasajero a buscar" );<br />try {<br />}catch (Exception e) {}<br />for (String dato: a.listaPasajeros()) {<br />if (dato.equals(cad)) {<br />JOptionPane.showMessageDialog (null," LO ENCONTRAMOS!!! El pasajero está en este bus" );<br />}<br />}JOptionPane.showMessageDialog (null," Búsqueda Finalizada" );<br />break;<br />case 7:<br />{<br />JOptionPane.showMessageDialog (null," ESPERO QUE ESTE PROGRAMA HAYA SIDO DE SU AGRADO" );<br />System.exit(0);<br />}break; <br />default:<br /> <br />JOptionPane.showMessageDialog(null," Seleccion erronea Elija nuevamente una opcion del 1 al 7" );<br />}<br />}<br />}catch (Exception e){}<br />}<br />}<br />

×