Simulador Fila Bancária

Bom Dia, sou novo em Java e estou com uma dúvida, o meu professor da faculdade de estrutura de dados pediu para fazermos uma simulação de fila bancária usando a estruta FILA, até ai tudo bem, vou colocar por tópicos o que a aplicação tem que fazer.

-Criar 2 Filas, uma Fila Normal e uma Fila Especial e colocar valores em ambas (Já tenho a estrutra pronta da Fila).
-Criar uma classe Caixa que terá um vetor com 5 posições.
-As posições [0] e [1] devem primeiramente consumir os valores da Fila Especial.
-As posições [2],[3] e [4] devem consumir primeiramente os valores da Fila Normal.
-Caso a Fila Especial fique vazia as posições que estavam consumindo seus valores deveram passar a consumir os valores da Fila Normal.
-Caso a Fila Normal fique vazia as posições que estavam consumindo seus valores deveram passar a consumir os valores da Fila Especial.
-Quando houver o consumo de alguma valor mostrar para o usuário.
-Esse consumo não pode ser imediato, ou seja, deve haver um atraso de um consumo para o outro(Eu pensei em usar o método wait() e colocar dentro dele algum valor randômico).

Espero que tenha dado para intender.

Por Favor, estou precisando mto de ajuda, já quebrei a cabeça e não mi vem nenhuma idéia para fazer esse exercício.

otima explicação 8)

Gostei do exercício também, ótimo para vc raciocinar :wink:

Legal o exercício mas sua dúvida seria em que exatamente?Por exemplo,Como declarar os vetores ?

Na verdade não…pode até parecer besta a dúvida…mas estou tendo dificiculdade em passar as duas variaveis para um único vetor e a manipulação das posições para consumirem as filas que eu quero.

Que sorte! Na minha a gente nas matérias de Algoritmos e Estrutura de Dados e na de Grafos só pode usar C, C++, Pascal ou Python. Sempre escolho C.

Cara coloca aí o que você fez até agora, onde tá dando o erro e tals que eu ajudo se souber o procedimento mais adequado.

Qualquer coisa algo que vale a pena: Tópico GUJ - Curso Java 7 no Youtube

Então cara, o problema está exatamente em como começar…eu estou tendo dificuldade em passar os valores de 2 objetos para posições específicas de um único vetor.

Eu não quero a lógica toda pronta, mas uma ajuda em como fazer pra passar valores de 2 objetos para um único vetor, com isso já dá pra eu começar a fazer alguma coisa.

começe criando as classes…

public class XXXXX {
}

Brincadeiras a parte…a logica que vc postou esta bem explicadinha.

Ninguem vai fazer pra você. Se vc postar duvidas com certeza será AJUDADO…

Agora se não sabe por onde começar…Procure por java hello world no google…

Galera, eu comecei a desenvolver alguma coisa já…mas estou tendo um probleminha de lógica.

Ele executa o que tem que executar mas por causa da condição dentro do while ele executa coisas repetidas.

A Fila normal termina primeiro que a especial, então ele continua executando até a fila especial ficar vazia e nisso os valores da fila normal se repetem.

Eu tentei colocar em 2 while() separados, mas não dá certo pq ele executa um pra depois executar o outro e a intenção é que acha o consumo de forma semultânea de ambas as filas.

[code]package br.com.IVsemestre.eraldo;

import br.com.IVsemestre.eraldo.FilaEraldo;

public class CaixaFilas {
private int [] caixas = new int [5];
private FilaEraldo filaEspecial;
private FilaEraldo filaNormal;

CaixaFilas(FilaEraldo fe,FilaEraldo fn){
    this.filaEspecial = fe;
    this.filaNormal = fn;
}

public void consomeFilas(){
    do{
        for(int i = 0; i <= 1; i++){
            this.filaEspecial.removeFila();
            this.caixas[i] = this.filaEspecial.getValor();
            System.out.println("Caixa Especial: " + this.caixas[i]);
            
            if(this.filaEspecial.filaVazia()){
                this.filaNormal.removeFila();
                this.caixas[i] = this.filaNormal.getValor();
                System.out.println("Caixa Especial atendendo fila normal: " + this.caixas[i]);
            }
        }
        
        for(int i = 2; i <= 4; i++){
            this.filaNormal.removeFila();
            this.caixas[i] = this.filaNormal.getValor();
            System.out.println("Caixa Normal: " + this.caixas[i]);
            
            if(this.filaNormal.filaVazia()){
                this.filaEspecial.removeFila();
                this.caixas[i] = this.filaEspecial.getValor();
                System.out.println("Caixa Normal atendendo fila especial: " + this.caixas[i]);
            }
        }
    }
    while((!this.filaEspecial.filaVazia()) && (!this.filaNormal.filaVazia()));
}

}[/code]

Yaee véio conseguiu fazer essa parada aee, o Eraldo passou pra minha sala tbém e to meio perdido …