Public static final

2 respostas
P

Oi pessoas!

Consigo compilar esse programa normalmente, mas na hora de executar surge o seguinte erro:

java.lang.NoSuchMethodError: main
Exception in thread “main” >Exit code: 1

Alguém pode me ajudar?!? Obrigada.

public class Pilha
{
public static final int CAPACITY = 1000; // capacidade default da pilha
private int capacity; // capacidade máxima da pilha
private String S[ ]; // array S que armazena os elementos da pilha
private int top = -1; // elemento do topo da pilha

// Construtores   
public Pilha()          // Inicializa a pilha com a capacidade   
{   
    //default   
    this(CAPACITY);   
}   
//   
public Pilha(int cap)   
{   
     // Inicializa a pilha com uma capacidade dada   
    capacity = cap;   
    S = new String[capacity];   
}   
   
// Metodos   
   
// Retorna o tamanho atual da pilha   
public int size()   
{   
    return(top + 1);   
}   
   
// Retorna True se a pilha está vazia   
public boolean isEmpty()   
{   
    return(top < 0);   
}   
   
// Empilha um novo objeto na pilha   
public void push(String obj)   
{   
    if (size() == capacity)   
    { System.out.println("Estouro da Capacidade da Pilha"); }   
    else   
    { S[++top] = obj; }   
}   
   
// Retorna o elemento do topo   
public String top()   
{   
    if (isEmpty())   
    {   
        System.out.println("Pilha está vazia.");   
        return null;   
    }   
    else   
    {   
        return S[top];   
    }   
}   
   
// Desempilha um elemento da pilha   
public String pop()   
{   
    String elem;   
    if (isEmpty())   
    {   
        System.out.println("Pilha está vazia");   
        return null;   
    }   
    else   
    {   
        elem = S[top];   
        S[top--] = null; // Desfaz a referência S[top] e decrementa top   
        return elem;   
    }   
}

}

2 Respostas

shoko

coloca entre tags code por favor.

E noSuchMethodError ocorre quando um metodo nao foi encontrado da forma como voce o chamou, ou um metodo necessario nao foi chamado.

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/NoSuchMethodError.html

gallo

Olá, você precisa colocar um método main para executar uma classe me java, como por exemplo.

public static void main(String[] args) {
		Pilha pilha = new Pilha(10);
		pilha.push("A");
		pilha.push("B");
		System.out.println(pilha.pop());
		System.out.println(pilha.pop());
		System.out.println(pilha.pop());
	}

Adicione esse em qualquer parte da sua classe e verá que ele executa.
Depois é só mudar de acordo com sua necessiadade.

____
Caio

Criado 21 de agosto de 2008
Ultima resposta 21 de ago. de 2008
Respostas 2
Participantes 3