Foros del Web » Programación para mayores de 30 ;) » Java »

Ejercicio ascensor

Estas en el tema de Ejercicio ascensor en el foro de Java en Foros del Web. necesito urgente su colaboración en una aplicación en java. Es simple no muy complicado sino que yo lo hice de una forma incorrecta y por ...
  #1 (permalink)  
Antiguo 08/06/2013, 15:48
 
Fecha de Ingreso: noviembre-2012
Ubicación: Cali - Colombia
Mensajes: 46
Antigüedad: 11 años, 5 meses
Puntos: 0
Ejercicio ascensor

necesito urgente su colaboración en una aplicación en java.
Es simple no muy complicado
sino que yo lo hice de una forma incorrecta y por eso me quedo malo.
Es que en la forma en que lo piden no lo entiendo

La cuestión es esta:

Se necesita hacer un ascensor que parta del piso 1 y tiene un total de 7 pisos nada mas ni nada menos.. que solo admita maximo 2 pasajeros.
se crea una clase ascensor y otra clase principal
en la del ascensor los metodos son

1) registraRequest que tiene como parametro el piso del que solicitan el ascensor

2)move que es donde esta el funcionamiento. La cuestion es esta... el metodo request pide los datos y el move los ejecuta... yo hice un while para controlar de que cuando fuera mayor que 2 entonces ejecutara los comandos.

Lo mas complicado es que en la clase principal que instancia al ascensor.. debe de ir esto.

ascensor as= new ascensor();

as.registerRequest(2);
as.registerRequest(3);
as.registerRequest(3);
as.registerRequest(3);
as.registerRequest(5);
as.registerRequest(6);
as.registerRequest(6);
as.registerRequest(7);
as.move();

esto quiere decir que en el piso 2 solo hay una persona entonces sigue subiendo... en el piso 3 hay 3 personas.. pero cuando llega al 3 solo puede recoger 1 porque ya llega al maximo de capacidad y bajar al piso 1 y descargar, luego subir al 3.. recoge los otros 2 que quedan y luego baja al 1 y los descarga.. luego sube al 5, recoje el unico que hay, pero como falta 1 mas sube al 6 y recoje 1 y como ya son 2 vuelve y baja al primero y los descarga.. luego vuelve al 6 recoge el que falta y sigue al 7 y los baja al 1 y listo..

La cuestión es que yo lo hice de la siguiente manera

as.registerRequest(2);
as.move();
as.registerRequest(3);
as.move();
as.registerRequest(3);
as.move();
as.registerRequest(3);
as.move();
as.registerRequest(5);
as.move();
as.registerRequest(6);
as.move();
as.registerRequest(6);
as.move();
as.registerRequest(7);
as.move();

Me toco hacerlo de esta manera porque no usé array, me dicen que la manera correcta es hacerlo con arrays. En cambio yo lo hice con contadores globales.

De todos modos la aplicación me funcionó correctamente pero usando esta ultima forma, pero me exigen que lo haga exactamente sin los moves debajo de cada request. Unicamente el move al final... usando arrays pero en realidad no me da.. no se porque lo he intentado pero no le doy con la logica usando los arrays
aparte debe de usar unos metodos que eso si no es complicado. Abordando, stop,descargando.. que solamente los llama y dentor de ellos solo hay un system.out que dice cuantos abordan o cuantos descarga.. usando contadores y disminuyendolos o aumentandolos según sea el caso.



El funcionamiento impreso en la consola debe quedar así:

dirigiendo el ascensor al piso 2
deteniendose
recogiendo pasajeros
hay 1 pasajero en el ascensor

dirigiensose al piso 3
deteniendose
recogiendo pasajeros
hay 2 pasajeros en el ascensor

dirigiendose al piso 2
dirigiendose al piso 1
deteniendose
descargando pasajeros

dirigiendo el ascensor al piso 3
deteniendose
recogiendo pasajeros
hay 2 pasajeros en el ascensor
dirigiendose al piso 2
dirigiendose al piso 1
deteniendose
descargando pasajeros

dirigiendo el ascensor al piso 5
deteniendose
recogiendo pasajeros
hay 1 pasajeros en el ascensor

dirigiendo el ascensor al piso 6
deteniendose
recogiendo pasajeros
hay 2 pasajeros en el ascensor

dirigiendose al piso 5
dirigiendose al piso 4
dirigiendose al piso 3
dirigiendose al piso 2
dirigiendose al piso 1
deteniendose
descargando pasajeros

dirigiendo el ascensor al piso 6
deteniendose
recogiendo pasajeros
hay 1 pasajeros en el ascensor

dirigiendo el ascensor al piso 7
deteniendose
recogiendo pasajeros
hay 2 pasajeros en el ascensor

dirigiendose al piso 6
dirigiendose al piso 5
dirigiendose al piso 4
dirigiendose al piso 3
dirigiendose al piso 2
dirigiendose al piso 1
deteniendose
descargando pasajeros


y ahí finaliza

Se que es larga la explicación pero en codigo no es muy largo, como les digo ya lo hice pero en realidad tengo problemas con la logica usando arrays


Muchas Gracias por su colaboración y su tiempo
  #2 (permalink)  
Antiguo 09/06/2013, 19:19
Avatar de ggomez91  
Fecha de Ingreso: octubre-2008
Mensajes: 181
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Ejercicio ascensor

No hacemos tareas, publícalo en la sección de empleos si quieres pagar por él.

Etiquetas: aplicacion, prueba
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:03.