这是我在这里的第一个问题。 这可能是一个愚蠢的问题,但到目前为止我还没弄清楚。
考虑下面的程序Reader.java:
public class Reader {
public static void main(String [ ] args) {
Stack<String> stack = new Stack <String>();
while (!StdIn.isEmpty ()) {
stack.push(StdIn.readString());
}
while (!stack.isEmpty()) {
StdOut.print(stack.pop() + " ");
}
StdOut.println();
}
}
然后给出一个文本文件(words.txt)具有以下内容:
read
cannot
I
鉴于该程序已成功使用StdIn.java,StdOut.java和 在课程中使用的Stack.java,由以下命令行指令产生什么输出?
java Reader < words.txt
解决方案说输出应该是:
"I can read"
而不是
"I cannot read"
为什么会这样?
谢谢:)
答案 0 :(得分:2)
正确的输出就是“我看不懂”。这应该是那本书中的拼写错误。
什么输入被推入堆栈,在弹出操作期间将以相反的顺序出现(不是任何新词)