Allora solo per capire se il ragionamento è giusto ho questo codice:
public static void main(String[] args) {
int [] stack = {10,20,30};
int size = 3;
int idx = 0;
do {
idx++;
} while (idx < size -1);
System.out.println("The Top Element: " + stack [idx]);
}
nel "do" idx è 0 perche sta nelle graffe,poi va nel while e fa 0 < 2 ( idx<size -1), è minore e torna su idx si incrementa e vale 1,nel while stessa cosa 1 < 2,torna su idx 2,va nel while 2 < 2 falso esce e va a stampare "The Top Element: 30