我正在尝试将文本框中字符串中的字符添加到我的堆栈中,
到目前为止,这是我的代码:
String s = txtString.getText();
Stack myStack = new LinkedStack();
for (int i = 1; i <= s.length(); i++)
{
while(i<=s.length())
{
char c = s.charAt(i);
myStack.push(c);
}
System.out.print("The stack is:\n"+ myStack);
}
我来自 LinkedStack 的推送和弹出方法
public void push(Object item){
top = new ListNode(item, top);
}
public void pop(){
if(isEmpty())
throw new StackUnderflowException("Nothing removed-stack is empty");
else
top = top.getNext();
}
getnext() 方法来自另一个名为 listnodes 的包
public ListNode getNext() {
return nextNode; // get next node
} // end method getNext
当我将打印更改为 + c 时,我的字符串中的所有字符都会打印出来,但是当它是 myStack 时,它现在给了我一个超出索引范围错误的字符串。
有人知道我错过了什么吗?