Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
Dumb3r3r

Ajuda

Recommended Posts

Dumb3r3r

O enunciado do trabalho e o mesmo que está neste topico

    http://www.portugal-a-programar.pt/index.php?showtopic=24573

Nao sei como poderei por o passageiro "d" a aparecer no piso 0 nem como que me apareca o passageiro primeiro fora do elevador e so no instante seguinte dentro do elevador.

Preciso de ajuda tambem para retirar os passageiros no piso 1 de dentro do elevador e envialo para baixo caso existam passageiros em fila de espera.

Agradecia alguma ajuda com urgencia

import java.util.Scanner;

public class SimuladorElevador {

public static void main(String[] args) {

int t;//tempo aleatorio

int tempoSimulacao;// tempo total de simulacao

String str1="";//momentos de simulacao

String str2="";//passageiros dentro do elevador

String str3="";//passageiros fora do elevador

int proximo; //proximo passageiro

int startchar=96;// caracter tabela ascii a-1

int contaPasseiros =0;//conta passageiros no elevador

int tempoVisualizacao = 1; // tempo de Visualização

int aux; // 30% do tempo de simulação

int veloElevador = 3; // Velocidade do elevador

int aux1;

t=(int)Math.floor(Math.random()*10+1);//t inicial

proximo=t;//primeiro passageiro

int soma=0;//total de passageiros

//input e condições tempo simulação

do {

Scanner teclado = new Scanner(System.in);

System.out.println("tempo de simulacao? ");

tempoSimulacao=teclado.nextInt();

if ((tempoSimulacao < 60) || (tempoSimulacao > 86400))

System.out.println ("Tempo de simulação invalido");

}

while ((tempoSimulacao < 60) || (tempoSimulacao > 86400));

// input e condições tempo visualização

do {

Scanner teclado1 = new Scanner (System.in);

System.out.println("Tempo de visualização? ");

tempoVisualizacao=teclado1.nextInt();

aux = ((tempoSimulacao * 30)/100); // Calculo 30% tempo simulação

if ((tempoVisualizacao < 1) || (tempoVisualizacao > aux))

System.out.println("Tempo de visualização invalido");

}

while ((tempoVisualizacao < 1) || (tempoVisualizacao > aux));

//input e condições velocidade elevador

do {

Scanner teclado2 = new Scanner(System.in);

System.out.println ("Velocidade do elevador? ");

veloElevador = teclado2.nextInt();

if ((veloElevador <1 ) || (veloElevador > 3))

System.out.println("Velocidade do Elevador invalida");

}

while ((veloElevador <1 ) || (veloElevador > 3));

for(int i=0;i<=tempoSimulacao;i++){//ciclo de simulacao

str1=i+":";//gerar string momentos de simulacao

if(i==proximo){//gerar novo t e calcular proximo

t=(int)Math.floor(Math.random()*10+1);//novo t

proximo=i+t;//calcular proximo passageiro

soma++;//clacula total de passageiros

if(startchar==122){//chegou a letra z

startchar=96;//posicionar em a-1

}

startchar++;//move-se na tabela ascii

if (contaPasseiros<4)//verifica limite do elevador

{

contaPasseiros++;//adiciona passageiro ao elevador

str2=str2+(char)startchar;//passageiros dentro do elevador

//System.out.println(str1+"[E] piso_0 ("+str2+")"+str3+ ", piso_1 ("+")");//output de simulacao

}

else

{

str3=str3+(char)startchar;//passageiros fora do elevador

//System.out.println(str1+"[E] piso_0 ("+")"+str3+ ", piso_1 ("+str2+")");//output de simulacao

}

}

if (contaPasseiros < 4){

System.out.println(str1+"[E] piso_0 ("+str2+")"+str3+ ", piso_1 ("+")");}

else{

System.out.println(str1+"[E] piso_0 ("+")"+str3+ ", piso_1 ("+str2+")");}

//System.out.println(str1+"[E] piso_0 ("+str2+")"+str3+ ", piso_1 ("+str2+")");//output de simulacao

}//fim ciclo simulacao

System.out.println("Total Entradas = "+soma);//output total passageiros

System.out.println(contaPasseiros);

}

}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.