首页 > Java 实现字符串输入时,为了终止输入流,除了第一次以外,ctrl+z 为什么需要十分长的时间才有反应。

Java 实现字符串输入时,为了终止输入流,除了第一次以外,ctrl+z 为什么需要十分长的时间才有反应。

package EX1_3_9;
import com.Tools.StdIn;
import com.Tools.StdOut;
public class EX1_3_9 {

public static void main(String[] args)
{ 
    Stack<String> ops  = new Stack<String>();
    Stack<String> vals = new Stack<String>();
    while (!StdIn.isEmpty())
    {
       String s = StdIn.readString();
        if      (s.equals("("));
        else if (s.equals("+") ||
                 s.equals("-") ||
                 s.equals("*") ||
                 s.equals("/") ||
                 s.equals("sqrt")) ops.push(s);
        else if (s.equals(")"))
        {
            String op = ops.pop();
            String v = vals.pop();
            
            if (op.equals("+") ||
                op.equals("-") ||
                op.equals("*") ||
                op.equals("/"))
                v = String.format("( %s %s %s )", vals.pop(), op, v);
            else if (op.equals("sqrt"))
                v = String.format("( %s %s )", op, v);
            vals.push(v);
        }
        else vals.push(s); 
    }
   StdOut.println(vals.pop());
 
}

}

【热门文章】
【热门文章】