ola gostaria que se pudessem me ajudar com uma duvida que estou tendo
para criar um array sendo atributo de uma classe sem limitar o tamanho,
estou tentando fazer uma pilha e nao sei qual o erro que esta acontecendo
olha minha classe:
package Exercises;
public class Pilha {
private Object[] elemento;
private int tamanho = 0;
private int posicao = 0;
public void insere(Object a){
this.elemento[this.posicao] = a;
this.posicao++;
this.tamanho = this.elemento.length;
}
public Object retira(){
this.posicao--;
Object ret = this.elemento[this.posicao];
this.elemento[this.posicao] = null;
return ret;
}
public boolean isCheia(){
if (this.tamanho == this.posicao){
return true;
}
else {
return false;
}
}
public boolean isVazia(){
boolean teste = true;
for (int i = 0;i < this.elemento.length; i++){
if (this.elemento[i] == null){
teste = true;
}
else{
teste = false;
break;
}
}
return teste;
}
public int getTamanho(){
return this.tamanho;
}
public String mostraPilha(boolean ordem){
String pil = new String();
if (isVazia()){
return "A pilha esta vaiza";
}
else {
if(ordem){
for (int i = (this.elemento.length - 1); i >= 0;i--){
pil += this.elemento[i]+"\n";
}
}
else {
for (int i = 0;i < this.elemento.length;i++){
pil += this.elemento[i]+"\n";
}
}
return pil;
}
}
}
nesta classe nao apresenta erro algum no eclipse porem criei uma outra classe “testaPilha” fiz uma instancia da pilha e na hora de inserir algum elemento, ele da erro…
testei mudando no atributo elemento pra essa forma
private Object[] elemento = new Object[5];
e quando alterei dessa forma, limitando o tamanho, ele funcionou tudo corretamente…
alguem pode me ajudar e me explicar como deve declarar este atributo em array?
gostaria de deixar dessa forma sem tamanho limitado, pq qria permitir que fosse inserindo sem limite e depois informava o tamanho…
vlw…