import edu.princeton.cs.algs4.*;
public class FixedCapacityStackOfStrings
{
private String[] a;
private int N;
public FixedCapacityStackOfStrings(int cap)
{ a = new String[cap]; }
public boolean isEmpty() { return N == 0; }
public int size() { return N; }
public void push(String item)
{ a[N++] = item; }
public String pop()
{ return a[--N]; }
public static void main(String[] args)
{
FixedCapacityStackOfStrings s;
s = new FixedCapacityStackOfStrings(100);
while (!StdIn.isEmpty())
{
String item = StdIn.readString();
if (!item.equals("-"))
s.push(item);
else if (!s.isEmpty()) StdOut.print(s.pop() + " ");
}
StdOut.println("(" + s.size() + " left on stack)");
}
}
代码如上,实现功能就是每次输入-,就从栈中pop元素,但是我每次在eclipse中输入后,显示的都不对,如输入“tobe or-”,显示的是2个left,else if的内容没有显示,明明就是按书上敲得啊。。。
相关分类