Ajuda num exercicio sobre filas

4 respostas
A

Tenho 1 programa para fazer sobre Filas, só que não entendi muito bem a matéria, eu começando agora nesta parte, o exercicio é:

Construa um programa que administre as filas de reservas de filmes em uma videolocadora,levando
em conta que para cada filme existem sete filas - uma para cada dia da semana - e é o usuário quem
determina qual é o dia da semana de sua preferência para alugar o filme. O cliente é informado da disponobilidade
da fita e quando é confirmada a sua locação ele deve sair da fila.

O numero de cópias de cada fita não deverá ser considerado nessa solução, devendo ser considerada 1 fita
por filme.

Suponha que são permitidas, no máximo, 4 reservas para cada filme e por dia da semana. Quando um cliente
quiser locar um filme, em um determinado dia e para este dia já foram feitas 4 reservas, então este deve ser avisado
da impossibilidade.

Construa o programa com pelo menos 2 filmes. O programa deve suportar, pelo menos, as 2 operações basicas
locação/ reserva e devolução.

Estou usando uma fila Circular para isso.
public class FilaCircular {
	
	private int total;
	private int tamMax;
	private int inicio;
	private int fim;
	private int memo[];
	
	
	FilaCircular(int tamMax){
		
		this.total=0;
     	this.tamMax=tamMax;
     	this.inicio=0;
     	this.fim=0;
     	this.memo=new int[this.tamMax];
     	
	}
	public boolean isEmpty(){
		
		if (this.total==0){
			return true;
		}
		else
			return false;
			
	}
	public void insere (int elemento){
		
		if (!isFull()){
			
			this.total++;
			this.memo[this.fim]=elemento;
			
		if (this.fim==(this.tamMax-1))
			
			this.fim=0;
			
			else
				this.fim++;	
		}
		else
			System.out.println ("overFlow");
	}
	public boolean isFull(){
		
		if (this.fim==this.tamMax){
			
			return true;
			
		}
		else
			return false;
	}
	public int remove (){
		
		int elemento=0;
		
		if (!isEmpty()){
			
			this.total--;
     		elemento=this.memo[this.inicio];
     		
     	if (this.inicio==(this.tamMax-1))
     		this.inicio=0;
     		
     		else
     			this.inicio++;	
		}
		else
			System.out.println("overflow");
        	return elemento;
	}

     
    
    
}

eu tenho que construi pelo menos 2 filme, vão ser 14 filas, eu pensei em fazer o começo assim

import javax.swing.*;
public class Filaapp {
        
    
    public static void main(String[] args) {
    	
    	int tamMax = Integer.parseInt(JOptionPane.showInputDialog("Informe o tamanho Maximo:"));
    	
    	FilaCircular f1 = new FilaCircular();
    	FilaCircular f2 = new FilaCircular();
    	
    	for (int cont=0;cont<tamMax;cont++){
    		
    		f1.insere(Integer.parseInt(JOptionPane.showInputDialog("Informe um numero:")));
    		f2.insere(Integer.parseInt(JOptionPane.showInputDialog("Informe um numero:")));
    	}
    	
    	
        
        
    }
}

Preciso de ajuda, seria assim o começo?????..... :shock:

4 Respostas

asobrab

alex_col10:
Só que depois disso, não consigo raciocinar ???
:shock:

A

Me expressei mal, o serto é que estou meio perdido nesta parte…

asobrab

Deixei umas dicas aqui e servirá para você também!

A

Só queria ver se minha idéia está certa de fazer assim o exercicio......

import javax.swing.*;
public class Filaapp {
        
    
    public static void main(String[] args) {
    	
    	JOptionPane.showMessageDialog(null, "Seja Bem Vindo", "Boas Vindas", JOptionPane.INFORMATION_MESSAGE);
    	
    	int tamMax = Integer.parseInt(JOptionPane.showInputDialog("Informe o tamanho Maximo:"));
    	
    	FilaCircular filme1 = new FilaCircular(tamMax);
    	
    	
    	for (int cont=0;cont<tamMax;cont++){
    		
    		filme1.insere(Integer.parseInt(JOptionPane.showInputDialog("Informe o dia para Alugar:")));
    		
    		
    		switch (tamMax){
    			
    			case 0:
    					
    		}
    		
    		
    		
    	}
    	
    	
        
        
    }
}

No tamanho maximo, eu colocaria 7 que equivale para cada dia da semana, depois eu colocaria um dia para alugar o filme ai testaria no switch??

Criado 26 de setembro de 2009
Ultima resposta 27 de set. de 2009
Respostas 4
Participantes 2