Uma ajuda

eu preciso contar a quantidade de numeros de uma pilha mas nao posso perder os valores e nem mudar a ordem.
podem ma dizer se ta certo ou eu tenho que passar da pilha paux para a p .

[code]import javax.swing.*;
public class ExercicioProva_03 {
public static void main(String[] args) {
Pilha p=new Pilha(50);
Pilha paux=new Pilha(50);

    int cont=0, j, a;
          
    a=(int)(Math.random()*50+1);
    System.out.println(a);
   	for(int i=0; i<a; i++){
   		j=(int)(Math.random()*100+1);
   		p.push(j);
   		System.out.println(j);
   	}
    
    for(int i=0; i<a; i++){
    	paux.push(p.pop());
    	cont++;
    }
   System.out.println(paux.pop());
 	JOptionPane.showMessageDialog(null,cont+" numeros lidos.");
}

}[/code]

Como o conteúdo da pilha p foi para a pilha paux, o primeiro elemento da pilha p (que estava embaixo) passou a ficar por cima da pilha paux.
Se você não pode modificar a pilha p, sugiro colocar de volta os elementos da pilha paux na pilha p, para obedecer a ordem FIFO original da pilha.
:slight_smile: