Ir ao conteúdo
  • Cadastre-se

Java Simulador Fila Banco em Java


Posts recomendados

Ola, eu estou com uma dificuldade em um simulador de fila de banco, são dois painéis um onde o cliente pega a senha e o outro onde o funcionário disponibiliza seu caixa pra fazer a chamada, e funciona da seguinte forma, são três botões no painel do cliente (Comum, Rápido, Prioritário) e o cliente recebe a senha de acordo com o seu tipo, numa situação onde 5 clientes pegam a senha na respectiva ordem Prioritário, Rápido, Rápido, Comum e Prioritário a senhas seriam P-1 R-2 R-3 C-4 P-5, o quadro fica da seguinte maneira 

 

 

a logica que eu usei para o cliente foi a seguinte:


 

        private void BtnCActionPerformed(java.awt.event.ActionEvent evt) {                                     
     i++;
     TpSenha[i] = ("C-");
     NroSenha[i] = i;
     Senha[i] = TpSenha[i] + NroSenha[i];
     jLSenhaf.setText(Senha[i]);
    }                                    
    
    
    private void BtnRActionPerformed(java.awt.event.ActionEvent evt) {                                     
     i++;
     TpSenha[i] = ("R-");
     NroSenha[i] = i;
     Senha[i] = TpSenha[i] + NroSenha[i];
     jLSenhaf.setText(Senha[i]);
    }                                    
    
    private void BtnPActionPerformed(java.awt.event.ActionEvent evt) {                                     
     i++;
     TpSenha[i] = ("P-");
     NroSenha[i] = i;
     Senha[i] = TpSenha[i] + NroSenha[i];
         jLSenhaf.setText(Senha[i]);
    
    }  

 

a logica do funcionário deveria ser a seguinte

Caixa 1: realiza os atendimentos preferenciais. Se não houver atendimentos preferenciais na fila, atende o próximo (rápido ou comum).

– Caixas 2 e 3: atendem primeiro as senhas de atendimento rápido. Se não houver atendimento rápido, atendem o próximo da fila (prioritário ou comum).

– Caixa 4: realiza os atendimentos comum. Se não houver atendimentos comuns na fila, atende o próximo (rápido ou prioritário).

eu to tentando fazer a logica da seguinte maneira:

 

private void BtnCx1ActionPerformed(java.awt.event.ActionEvent evt) {                                       
    for (k=0;k<100;k++){
        if(TpSenha[k].equals("P-")){
            jLSenha.setText(Senha[k]);
            k = 101;
        }
    }
    
           for (k=0;k<100;k++){
        if(TpSenha[k].equals("C-")||TpSenha[k].equals("R-") ){
            jLSenha.setText(Senha[k]);
            k = 101;
        }
    }
      
        
    }   


mas ele continua dando erro, alguém pode me explicar por favor o motivo? eu preciso entregar isso urgentemente e não tenho mais caminho por onde ir; não sei onde ta o erro na logica, já fiz e refiz o código três vezes e nada funciona

 

Tela.png

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Dá pra você simplificar as coisas um pouco:

 

Primeiro, constrói uma classe chamada Senha, que tenha 3 atributos (String tipo, int numero e String label)

 

Aí você faz 3 listas de senha:

List<Senha> prioritarios = new ArrayList<Senha>();
List<Senha> rapidos = new ArrayList<Senha>();
List<Senha> comuns = new ArrayList<Senha>();

 

Na hora de criar as senhas, você adiciona no array correspondente ao tipo de senha selecionado.

Exemplo (senha tipo R):

Senha novaSenha = new Senha();
novaSenha.setTipo("R");
novaSenha.setNumero(i);
novaSenha.setLabel("R-" + i);
i++;
prioritarios.add(novaSenha);

 

Nos botões do caixa, você verifica os arrays na ordem.

Senha senha = null;

if(!prioritarios.isEmpty()) {
  //atende prioritario
  senha = prioritarios.remove(0);
} else if(!rápido.isEmpty()) {
  //atende rápido
  senha = rápido.remove(0);
} else {
  //atende comum
  senha = comum.remove(0);
}

if(senha != null) {
	//exibe senha na tela
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!