Fórum Não retornando Valores - Processamento chega a 100% #474208

27/03/2014

0

Gente criei esse código, mas quando clico em executar não retorna valor. Simplesmente o processador começa a trabalhar bastante.

public class Localizador {
	public boolean localizar(Pilha pilha, int inteiro){
		int x;
		boolean flag = false;
		Pilha paux = new Pilha();
		while(!pilha.underflow()){
			x = pilha.item();
			if (x != inteiro){
				pilha.desempilhar();
				paux.empilhar(x);
			}
			else
				flag = true;
		}
		while (!paux.underflow()){
			pilha.empilhar(paux.item());
			paux.desempilhar();
		}
		return flag;
	}
	
	public static void main(String[] args) {
		Localizador essa = new Localizador();
		Pilha pilha = new Pilha();
		pilha.empilhar(99);
		pilha.empilhar(100);
		int valor=99;
		if (essa.localizar(pilha,valor)==true)
			System.out.print(" Existe ");
		else
			System.out.print("Não Existe ");
	}
}



A estrutura Pilha é essa.

public class Pilha {
	private int pindinicio;
	private int pindfim;
	private int ptrtopo;
	private int [] pilha = new int [10];
	
	public Pilha(){
		pindinicio = 0;
		pindfim = 9;
		ptrtopo = -1;
	}
	
	public boolean underflow(){
		if (ptrtopo == -1)
			return true;
		else
			return false;
	}
	
	public boolean overflow(){
		if (ptrtopo == pindfim)
			return true;
		else
			return false;
	}
	
	public boolean empilhar(int info){
		if (!overflow()){
			pilha[ptrtopo+1] = info;
			ptrtopo = ptrtopo+1;
			return true;
		}
		else
			return false;
	}
	
	public boolean desempilhar(){
		if(!underflow()){
			ptrtopo = ptrtopo-1;
			return true; 
		}
		else
			return false;
	}
	
	public int item(){
		return pilha[ptrtopo];
	}
	
	public String itens(){
		String stack="";
		for (int i = pindinicio;i<=ptrtopo;i++){
			if (i != ptrtopo)
				stack = stack+pilha[i]+" -";
			else
				stack = stack+pilha[i];
		}
		return stack;
	}
	
	public int tamanho(){
		return ptrtopo+1;
	}
}
Eliseu Mendes

Eliseu Mendes

Responder

Posts

28/03/2014

Carlos Proença

Cara batento o olho parece problema com seus laços ai...

tenta debugar e ver no laço do item que ele fica eternamente ou nos do localizar....

mas ja tem uma coleção no java pra isso neh.... acho que sua ideia era fazer algo semelhante?

flww
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar