算法四第82页出现的问题
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的内容没有显示,明明就是按书上敲得啊。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
http://algs4.cs.princeton.edu...
我找到了书上说的网站源码的详细地址.
里面的代码好像和你写的差不多
因为我完全不知道StdIn和StdOut是什么东西,哈哈,学艺不精
说真的,我工作两年,好像都没有直接在Java控制台输入/(ㄒoㄒ)/~~