Problema no algoritmo de um sistema de gerenciamento de um elevador

2 respostas
java
G

Olá, estou com o seguinte problema, fiz um software que gerencia um elevador de um prédio. Nele fiz um JFrame no qual exibe o movimento do elevador no prédio (subindo e descendo)… acontece que no momento ele só faz uma viagem por vez, estou precisando fazer isso: Digamos que o elevador encontra-se parado no 1º andar e alguém o chama no 8º, logo em seguida alguém no 7º andar o chama também, o elevador deverá chegar no 7º andar primeiro, mesmo que o 8º tenha o chamado primeiro, para aproveitar o movimento de subida. Tentei fazer um arraylist mas não consegui implementar direito para este caso.

Quem puder ajudar, agradeço.

2 Respostas

leofariasrj25

A primeira ordem irá decidir se o movimento do elevador será de subida ou descida. Na subida o elevador pode:

-Receber ordens de andares no meio do caminho.
-Receber ordens para andares acima do andar que originou o movimento.

Dito isto, qualquer ordem que seja uma ordem vinda de andares acima do atual e do andar alvo deve ser colocado em uma lista chamada subida (por exemplo) onde a lista será reorganizada de forma ascendente (através de Collections.sort(subida)) a cada vez que uma nova ordem for recebida.

Caso o elevador enquanto sobe ou desce receba ordens de parada vinda de andares abaixo do andar atual elas devem ser postas em uma lista chamada descida onde serão reorganizadas de maneira descendente.

Esses são os dois conceitos principais, deixei alguns detalhes de fora de forma intencional, boa sorte :wink:

G

Obrigado

Criado 15 de maio de 2016
Ultima resposta 15 de mai. de 2016
Respostas 2
Participantes 2