BlueJ, c'è da rivedere un po' la struttura del programma: da quel che ho capito, stai implementando uno Stack di interi di dimensione massima fissata, giusto?
Conviene allora, piuttosto che fare affidamento sulla lunghezza del supposto vettore di interi, definire una variabile "testa" tipo int che tenga traccia di quelle che sono state le operazioni sullo stack.
testa = -1 --> stack vuoto, non è possibile eliminare elementi
testa = lunghezzavettore - 1 --> stack pieno, non è possibile aggiungere altri elementi
ogni volta che aggiungi un elemento al tuo stack, incrementi testa, viceversa, ogni volta che elimini un elemento decrementi testa.
I cicli for andranno di conseguenza fino a testa (con l'unica eccezione che lo stack sia vuoto, per cui non avrebbe senso trovare massimi, minimi e medie dei valori).
Saluti.