猿问

算法四第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的内容没有显示,明明就是按书上敲得啊。。。

POPMUISE
浏览 423回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答