1 回答

TA貢獻(xiàn)1830條經(jīng)驗 獲得超3個贊
你的問題是當(dāng)你得到迭代器時。您在創(chuàng)建 myStack 對象時得到它(請將類重命名為MyStack),然后修改 stack,然后使用迭代器,這不會飛,因為您在修改堆棧后使用迭代器。相反,您需要在方法頂部使用之前提取迭代器printStack(),以便它是一個有效且穩(wěn)定的迭代器,代表當(dāng)時堆棧的狀態(tài)。
public class MyStack extends Stack<myObject> {
public void printStack() {
Iterator<myObject> iter = this.iterator(); // *** here***
while(iter.hasNext()) {
myObject temp = iter.next();
System.out.print(temp.toString());
}
}
順便說一句,您需要學(xué)習(xí)和使用Java 命名約定。變量名應(yīng)全部以小寫字母開頭,而類名應(yīng)以大寫字母開頭。學(xué)習(xí)這一點(diǎn)并遵循這一點(diǎn)將使我們更好地理解您的代碼,并使您更好地理解其他人的代碼。
添加回答
舉報