Estou aprendendo Java no meu curso por agora, mas não tenho muita facilidade. Estou tentando ler o código todo para ver se consigo entender mais a lógica, mas tem partes que não entendi. Criamos uma classe Pilha
public class Pilha
{
private Object[] item;
private int inicio = 0,
fim = -1,
qtd = 0;
public Pilha (int capacidade) throws Exception
{
if (capacidade<=0)
{
Exception erro;
erro = new Exception ("Capacidade invalida");
throw erro;
}
this.item = new Object [capacidade];
for(int i=0; i<this.item.length; i++)
this.item[i]=null;
}
// Nessa parte não entendo o for (que na verdade sempre foi meio difícil de entrar na minha cabeça)
public void guardeUmItem (X x) throws Exception
{
if (x==null)
throw new Exception ("Guardar oque?");
if (this.qtd==this.item.length)
throw new Exception ("Nao cabe mais nada");
this.fim++;
if (this.fim==this.item.length)
this.fim = 0;
this.item[this.fim] = x;
this.qtd++;
}
// Já nessa parte não entendi o porquê de o this.fim ficar = 0
E essa parte: this.item[this.fim] = x; significa que o que o usuário digitou está sendo adicionado ao vetor com o valor que ele passou?
Se alguém puder ajudar, agradeço