Estou tentando instanciar um objeto da classe Pilha que eu criei.
public class Pilha{
public ArrayList <Integer> data; // declara a pilha, apenas
public Pilha(int tamanho){
data = new ArrayList<Integer>(); // inicializa a pilha com o tamanho informado
}
public void Push(Integer elm){
data.add(elm); // adiciona o elemento informado ao topo
}
public Integer Pop(){
if(data.size() == 0){
throw new IllegalStateException("Pilha vazia. ");
}
return data.remove((data.size() - 1)); // remove o elemento no indice do topo
}
public Integer Top(){
if(data.size() == 0){
throw new IllegalStateException("Pilha vazia. ");
}
return data.get(data.size() - 1); // retorna o topo da pilha
}
public boolean isEmpty(){
return data.isEmpty(); // retorna se está vazia
}
public int Size(){
return data.size(); // retorna o numero de elementos no ArrayList
}
}
Criei um menuzinho na main pra testar essa classe, mas acontece um erro nesta terceira linha:
System.out.println("Bem vindo! insira o tamanho da pilha: ");
tamanho = input.nextInt();
Pilha stack = new Pilha(tamanho); // erro
o erro é o non-static variable this cannot be referenced from a static context
Não consigo identificar a solução. Podem me ajudar?