0% encontró este documento útil (0 votos)
47 vistas2 páginas

Desarrollo

Se propone simular un sistema de buses que recorren una ruta con paradas hasta su destino, registrando la cantidad de pasajeros que se bajan en cada parada. Se deben implementar excepciones, cargar datos de buses desde un archivo, y simular el comportamiento de cada bus como un hilo, gestionando combustible y pasajeros. El bus finaliza su recorrido al llegar a su destino, quedarse sin pasajeros o no tener suficiente combustible.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
47 vistas2 páginas

Desarrollo

Se propone simular un sistema de buses que recorren una ruta con paradas hasta su destino, registrando la cantidad de pasajeros que se bajan en cada parada. Se deben implementar excepciones, cargar datos de buses desde un archivo, y simular el comportamiento de cada bus como un hilo, gestionando combustible y pasajeros. El bus finaliza su recorrido al llegar a su destino, quedarse sin pasajeros o no tener suficiente combustible.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tema de desarrollo

Se desea simular un sistema de buses que recorren una ruta determinada con diferentes
paradas hasta su lugar de destino. Cada bus terminará su recorrido cuando llegue a su
destino o cuando se quede sin pasajeros o sin combustible suficiente para completar el
siguiente trayecto. Un trayecto es el viaje que se realiza de una parada a otra. Cada bus
registra en un archivo la cantidad de pasajeros que se baja en cada parada.

Se le proporciona el diagrama de clases de la aplicación

Considerando el diagrama de clases proporcionado, usted debe realizar las siguientes tareas:

En el paquete excepciones

A. (4 puntos) Cree una excepción de tipo checked llamada ChoferNoEncontrado con


un constructor que recibe la placa del bus y establece el mensaje Bus con placa
<placa> no tiene asignado chofer. No puede iniciar su recorrido.

Modelo: Clase Bus

B. (27 puntos) Implemente el método estático cargarBuses() que lee el archivo buses.txt
que contiene la información de los buses que van a salir de una estación. Este método
construye y devuelve una lista de objetos Bus con los datos del archivo. La primera
línea del archivo es la cabecera.

Cada línea del archivo representa la información del bus separada por;
placa;combustible;paradas;capacidad;licencia;chofer

Como se muestra a continuación:


placa;combustible;paradas;capacidad;licencia;chofer
ABC-1234;100;3;50;1234;Juan Cevallos
XYZ-7894;130;12;55;5678;Marcia Almeida
LMN-4564;120;8;45;9012;Carlos Aguilar
DEF-3214;150;15;60;3456;Ana Mendoza

En el procesamiento del archivo, si el bus no incluye la información del chofer debe


crear y lanzar la excepción ChoferNoEncontrado con la placa del bus.
Recuerde: Manejar siempre las clases específicas de excepciones y no la forma
general de Exception.

C. (43 puntos) Implemente la funcionalidad necesaria para que cada bus se comporte
como un hilo. El hilo simula la trayectoria del bus desde la salida pasando por cada
parada. La variable numParadas incluye la parada en el destino final.

Implemente la funcionalidad del hilo que simula el recorrido del bus y cada una de sus
paradas, considerando lo siguiente:
1. La cantidad inicial de pasajeros de cada bus es igual a la capacidad. Es decir,
el bus desde el inicio estará lleno. La cantidad inicial de galones de
combustible está en la variable combustible.
2. Manejar un archivo para registrar la información del chofer y la cantidad de
pasajeros que se bajan en cada parada. El nombre del archivo se llama
recorrido-<placa>.txt Ejemplo recorrido-ABC-1234.txt. Ver ejemplo del
archivo al final.
3. Mientras no haya llegado a su destino o aun tenga pasajeros o combustible
suficiente para completar el siguiente trayecto (por cada trayecto consume 3.6
galones de gasolina). Implementar lo siguiente:
3.1. Mostrar cuántos pasajeros viajan y la cantidad de combustible
que dispone el bus.

3.2. Simular el paso del tiempo de llegar de una parada a otra


durmiendo 2 segundos.

3.3. Disminuir el combustible que se utilizó para realizar el trayecto.


Recuerde que cada trayecto consume 3.6 galones de gasolina.

3.4. Debe bajar una cantidad aleatoria de pasajeros. Si es la última


parada o no hay suficiente combustible para el siguiente trayecto se
deben bajar todos los pasajeros restantes. Para generar un número
aleatorio, puedes seguir el siguiente ejemplo de código::
Random r = new Random();
int valor = r.nextInt(6); // Aleatorio entre 0 y 5

3.5. Debe mostrar por consola y escribir en el archivo la cantidad


de pasajeros que se bajaron. (Ver ejemplo)
4. Mostrar el mensaje: Bus <placa> ha terminado su recorrido.

Recuerde: El bus termina el recorrido en cualquiera de estos casos:


● No tiene combustible suficiente para llegar a la próxima parada
● Cuando todos los pasajeros se bajaron antes de llegar al destino final
● Llegó al destino final

Clase Main (Examen2E)

También podría gustarte