Menu utilizando swing

6 respostas
luiszacheu

Boa tarde galera estou fazendo um menu para testar uma classe “fila” mas estou com o seguinte problema.
Quando eu inicio a classe eu seto o valor do array/fila e após isso entro em um menu, a primeira opção é para inserir um valor na lista.
Por exemplor executei minha classe teste, seto o valor 5, ou seja, meu array vair ter 5 posições, quando eu escolher a opção 1 no meu menu
eu teria que inserir os 5 valores mas isso nao está acontecendo.
Será que alguem poderia me dar uma luz.
Segue o codigo abaixo.:

import javax.swing.JOptionPane;

import com.sun.xml.internal.bind.util.Which;

public class TesteFila {

public static void main(String args[]){
int size = Integer.parseInt(JOptionPane.showInputDialog(null, "Por favor defina o tamanho da fila."));
	Fila x = new Fila(size);

	while(true){	
		int menu = Integer.parseInt(JOptionPane.showInputDialog(null, "Escolha uma das opções abaixo: \n"
														+ "1 - Inserir na fila. \n" 
														+ "2 - Remover da fila. \n"
														+ "3 - Ver Tamanho. \n" ));
		
		switch (menu) {
			case 1:		
				for(int i=0; i < size; i++){
					x.Inserir(Integer.parseInt(JOptionPane.showInputDialog("Por favor, digite um valor para.")));						
				}
			case 2:
				x.Remover();
				
			
			case 3:
				for(int i=0; i<x.getTamanho();i++){	
				}
			
			case 4: 
				JOptionPane.showMessageDialog(null, "Bye");
				break;	
			
		}
	}

}

}

6 Respostas

marcosharbs

poste o conteudo do metodo Inserir() da classe x para poder dara uma olhada

luiszacheu

public class Fila {

private int tamanho;
private int queArray[];
private int eFrente;
private int eFinal;
private int nrItens;
//private int valor;

public Fila(int tamanho){
	this.tamanho = tamanho;
	queArray = new int[tamanho];
	eFinal = -1;
}
/*
public void Inserir(int valor){
	getCheio();
	queArray[++eFinal] = valor;
	nrItens++;
}
*/
public void Inserir(int valor){
	if (getCheio() == true){
		System.out.println("Fila Cheia!");
		
	}
	eFinal++;			
	queArray[eFinal] = valor;
	nrItens++;
	}

public int Remover(){
	nrItens--;
	return queArray[eFrente++];
}

public int getFrente(){
	return eFrente;
}

public boolean getVazio(){
	if (nrItens == -1){
		return true;
	}else{
		return false;
	}	
}

public boolean getCheio(){
	if (queArray[tamanho] == nrItens){
		return true;
	}else{
		return false;
	}
}

public int getTamanho(){
	return nrItens;
	
}

}

marcosharbs

faça a seguinte modificação no seu metodo getCheio()

public boolean getCheio() {
        if (queArray.length == nrItens) {
            return true;
        } else {
            return false;
        }
    }

axo que ainda precisa de mais modificacoes, mas essa parte ja resolve a exception que acontece, qq coisa posta de novo se nao funcionar que te ajudo.

luiszacheu

Vlw deu certo agora, eu deixei a variavel tamanho e funcionou tb.
Obrigado

marcosharbs

de nada
disponha
Abraço

luiszacheu

Cara to precisando fazer um metodo de fila circular, mas nao estou conseguindo será que vc tem como me dar um help?

Criado 11 de novembro de 2008
Ultima resposta 11 de nov. de 2008
Respostas 6
Participantes 2