Ir ao conteúdo

Posts recomendados

Postado

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

Postado

Antes de olhar o seu código seria bom dizer a que erro você se refere, você fez um diagrama em blocos (fluxograma)? É essencial quando estamos trabalhando em um projeto...

  • 2 semanas depois...
Postado

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
}

 

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!