我想从一个字符串中添加一个文本的字符到我的堆栈,从字符串添加字符叠
这里是到目前为止我的代码:从
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);
}
我的push和pop方法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时,它现在会给我一个超出索引范围错误的字符串。
有人知道我失踪了吗?
您没有给我们提供'LinkedStack'的代码,那么我们如何提供帮助? –
不应该在循环外打印堆栈吗?此外,您需要“弹出”堆栈以获取反向字符串。 –
+1 @ Oli Charlesworth。如果您使用Java自己的Stack类实现,它应该是Stack。 –